{
  "language_name": "English",
  "t": {
    "app.title": "⚡ Pixelle-Video - AI Auto Short Video Engine",
    "app.subtitle": "Powered by Pixelle.AI",
    "section.content_input": "📝 Video Script",
    "section.bgm": "🎵 Background Music",
    "section.tts": "🎤 Voiceover",
    "section.image": "🎨 Image Generation",
    "section.video": "🎬 Video Generation",
    "section.media": "🎨 Media Generation",
    "section.template": "📐 Storyboard Template",
    "section.video_generation": "🎬 Generate Video",
    "input_mode.topic": "💡 Topic",
    "input_mode.custom": "✍️ Custom Content",
    "mode.generate": "💡 AI Creation",
    "mode.fixed": "✍️ Custom Script",
    "mode.digital": "💻 Product placement mode",
    "mode.customize": "🧐 Custom mode",
    "input.topic": "Topic",
    "input.topic_placeholder": "AI automatically creates specified number of narrations\nExample: How to build passive income",
    "input.topic_help": "Enter a topic, AI will generate content based on it",
    "input.text": "Text Input",
    "input.text_help_generate": "Enter topic or theme (AI will create narrations)",
    "input.text_help_fixed": "Enter complete narration script (used directly without modification)",
    "input.text_help_digital": "Enter product description. If a product description is provided, you do not need to enter the product name",
    "input.text_help_audio": "Enter prompts/descriptions, describing the desired visual content in as much detail as possible",
    "split.mode_label": "Split Strategy",
    "split.mode_help": "Choose how to split the text into video segments",
    "split.mode_paragraph": "📄 By Paragraph (\\n\\n)",
    "split.mode_line": "📝 By Line (\\n)",
    "split.mode_sentence": "✂️ By Sentence (。.!?)",
    "input.content": "Content",
    "input.content_placeholder": "Used directly without modification (split by strategy below)\nExample:\nHello everyone, today I'll share three study tips.\n\nThe first tip is focus training, meditate for 10 minutes daily.\n\nThe second tip is active recall, review immediately after learning.",
    "input.content_help": "Provide your own content for video generation",
    "input.title": "Title (Optional)",
    "input.title_placeholder": "Video title (auto-generated if empty)",
    "input.title_help": "Optional: Custom title for the video",
    "voice.title": "🎤 Voice Selection",
    "voice.male_professional": "🎤 Male-Professional",
    "voice.male_young": "🎙️ Male-Young",
    "voice.female_gentle": "🎵 Female-Gentle",
    "voice.female_energetic": "🎶 Female-Energetic",
    "voice.preview": "▶ Preview Voice",
    "voice.previewing": "Generating voice preview...",
    "voice.preview_failed": "Preview failed: {error}",
    "style.workflow": "Workflow Selection",
    "style.workflow_what": "Determines how each frame's illustration is generated and its effect (e.g., using FLUX, SD models)",
    "style.workflow_how": "Place the exported image_xxx.json workflow file(API format) into the workflows/selfhost/ folder (for local ComfyUI) or the workflows/runninghub/ folder (for cloud)",
    "style.video_workflow_what": "Determines how each frame's video clip is generated and its effect (e.g., using different video generation models)",
    "style.video_workflow_how": "Place the exported video_xxx.json workflow file(API format) into the workflows/selfhost/ folder (for local ComfyUI) or the workflows/runninghub/ folder (for cloud)",
    "style.image_size_info": "Image Size: {width}x{height} (auto-determined by template)",
    "style.video_size_info": "Video Size: {width}x{height} (auto-determined by template)",
    "style.prompt_prefix": "Prompt Prefix",
    "style.prompt_prefix_what": "Automatically added before all image prompts to control the illustration style uniformly (e.g., cartoon, realistic)",
    "style.prompt_prefix_how": "Enter style description in the input box below. To save permanently, edit the config.yaml file",
    "style.prompt_prefix_placeholder": "Enter style prefix (leave empty for config default)",
    "style.prompt_prefix_help": "This text will be automatically added before all image generation prompts. To permanently change, edit config.yaml",
    "style.custom": "Custom",
    "style.description": "Style Description",
    "style.description_placeholder": "Describe the illustration style you want (any language)...",
    "style.preview_title": "Preview Style",
    "style.video_preview_title": "Preview Video",
    "style.test_prompt": "Test Prompt",
    "style.test_video_prompt": "Test Video Prompt",
    "style.test_prompt_help": "Enter test prompt to preview style effect",
    "style.preview": "🖼️ Generate Preview",
    "style.video_preview": "🎬 Generate Video Preview",
    "style.previewing": "Generating style preview...",
    "style.video_previewing": "Generating video preview...",
    "style.preview_success": "✅ Preview generated successfully!",
    "style.video_preview_success": "✅ Video preview generated successfully!",
    "style.preview_caption": "Style Preview",
    "style.preview_failed": "Preview failed: {error}",
    "style.preview_failed_general": "Failed to generate preview image",
    "style.final_prompt_label": "Final Prompt",
    "style.generated_prompt": "Generated prompt: {prompt}",
    "template.selector": "Template Selection",
    "template.select": "Select Template",
    "template.select_help": "Select template and video size",
    "template.video_size_info": "Final Video Size: {width} × {height}",
    "template.separator_selected": "Please select a specific template, not the group header",
    "template.default": "Default",
    "template.modern": "Modern",
    "template.neon": "Neon",
    "template.what": "Controls the visual layout and design style of each frame (title, text, image arrangement)",
    "template.how": "Place .html template files in templates/SIZE/ directories (e.g., templates/1080x1920/). Templates are automatically grouped by size. Custom CSS styles are supported.\n\n**Template Naming Convention**\n\n- `static_*.html` → Static style templates (no AI-generated media)\n- `image_*.html` → Image generation templates (AI-generated images)\n- `video_*.html` → Video generation templates (AI-generated videos)\n\n**Note**\n\nAt least one of the following browsers must be installed on your computer for proper operation:\n1. Google Chrome (Windows, macOS)\n2. Chromium Browser (Linux)\n3. Microsoft Edge",
    "template.size_info": "Template Size",
    "template.type_selector": "Template Type",
    "template.type.static": "📄 Static Style",
    "template.type.image": "🖼️ Generate Images",
    "template.type.video": "🎬 Generate Videos",
    "template.type.static_hint": "Uses template's built-in styles, no AI-generated media required. You can customize background images and other parameters in the template.",
    "template.type.image_hint": "AI automatically generates illustrations matching the narration content. Image size is determined by the template.",
    "template.type.video_hint": "AI automatically generates video clips matching the narration content. Video size is determined by the template.",
    "orientation.portrait": "Portrait",
    "orientation.landscape": "Landscape",
    "orientation.square": "Square",
    "template.preview_title": "Preview Template",
    "template.preview_param_title": "Title",
    "template.preview_param_text": "Text",
    "template.preview_param_image": "Image Path",
    "template.preview_param_width": "Width",
    "template.preview_param_height": "Height",
    "template.preview_default_title": "AI Changes Content Creation",
    "template.preview_default_text": "Artificial intelligence is transforming the way Pixelle.AI creates content, making it easy for everyone to produce professional-grade videos.",
    "template.preview_button": "🖼️ Generate Preview",
    "template.preview_generating": "Generating template preview...",
    "template.preview_success": "✅ Preview generated successfully!",
    "template.preview_failed": "❌ Preview failed: {error}",
    "template.preview_image_help": "Supports local path or URL",
    "template.preview_caption": "Template Preview: {template}",
    "template.custom_parameters": "Custom Parameters",
    "template.gallery_view": "Template Gallery",
    "template.select_button": "Check",
    "template.selected": "Checked",
    "template.selected_template": "Current Template",
    "template.no_templates_with_preview": "⚠️ No templates available for this type",
    "image.not_required": "Current template does not require image generation",
    "image.not_required_hint": "The selected template is text-only and does not need images. Benefits: ⚡ Faster generation 💰 Lower cost",
    "video.title": "🎬 Video Settings",
    "video.frames": "Scenes",
    "video.frames_help": "More scenes = longer video",
    "video.frames_label": "Scenes: {n}",
    "video.frames_fixed_mode_hint": "💡 Fixed mode: scene count is determined by actual script segments",
    "bgm.selector": "Music Selection",
    "bgm.none": "🔇 No BGM",
    "bgm.volume": "Volume",
    "bgm.volume_help": "Adjust background music volume (0.0 = muted, 1.0 = original volume)",
    "bgm.preview": "▶ Preview Music",
    "bgm.preview_failed": "❌ Music file not found: {file}",
    "bgm.what": "Adds background music to your video, making it more atmospheric and professional",
    "bgm.how": "Place audio files (MP3/WAV/FLAC, etc.) in the bgm/ folder for automatic detection",
    "btn.generate": "🎬 Generate Video",
    "btn.save_config": "💾 Save Configuration",
    "btn.reset_config": "🔄 Reset to Default",
    "btn.save_and_start": "Save and Start",
    "btn.test_connection": "Test Connection",
    "status.initializing": "🔧 Initializing...",
    "status.generating": "🚀 Generating video...",
    "status.success": "✅ Video generated successfully!",
    "status.error": "❌ Generation failed: {error}",
    "status.video_generated": "✅ Video generated: {path}",
    "status.video_not_found": "Video file not found: {path}",
    "status.config_saved": "✅ Configuration saved",
    "status.config_reset": "✅ Configuration reset to defaults",
    "status.llm_config_incomplete": "⚠️ LLM configuration incomplete, please fill in API Key, Base URL and Model",
    "status.save_failed": "Save failed",
    "status.connection_success": "✅ Connection successful",
    "status.connection_failed": "❌ Connection failed",
    "progress.generating_title": "Generating title...",
    "progress.generating_narrations": "Generating narrations...",
    "progress.splitting_script": "Splitting script...",
    "progress.generating_image_prompts": "Generating image prompts...",
    "progress.generating_video_prompts": "Generating video prompts...",
    "progress.preparing_frames": "Preparing frames...",
    "progress.frame": "Frame {current}/{total}",
    "progress.frame_step": "Frame {current}/{total} - Step {step}/4: {action}",
    "progress.processing_frame": "Processing frame {current}/{total}...",
    "progress.step_audio": "Generating audio",
    "progress.step_image": "Generating image",
    "progress.step_media": "Generating media",
    "progress.step_compose": "Composing frame",
    "progress.step_video": "Creating video segment",
    "progress.concatenating": "Concatenating video...",
    "progress.finalizing": "Finalizing...",
    "progress.generation": "Video is being synthesized...",
    "progress.completed": "✅ Completed",
    "error.input_required": "❌ Please provide topic or content",
    "error.api_key_required": "❌ Please enter API Key",
    "error.missing_field": "Please enter {field}",
    "info.duration": "Duration",
    "info.file_size": "File Size",
    "info.frames": "Scenes",
    "info.scenes_unit": " scenes",
    "info.resolution": "Resolution",
    "info.video_information": "📊 Video Information",
    "info.no_video_yet": "Video preview will appear here after generation",
    "info.generation_time": "Generation Time",
    "settings.title": "⚙️ System Configuration (Required)",
    "settings.not_configured": "⚠️ Please complete system configuration before generating videos",
    "settings.llm.title": "🤖 Large Language Model",
    "settings.llm.quick_select": "Quick Select",
    "settings.llm.quick_select_help": "Choose a preset LLM or custom configuration",
    "settings.llm.get_api_key": "Get API Key",
    "settings.llm.api_key": "API Key",
    "settings.llm.api_key_help": "Enter your API Key",
    "settings.llm.base_url": "Base URL",
    "settings.llm.base_url_help": "Enter the model service Base URL, not a concrete endpoint. Examples: OpenAI https://api.openai.com/v1 , Zhipu https://open.bigmodel.cn/api/paas/v4 .",
    "settings.llm.model": "Model",
    "settings.llm.model_help": "Model name",
    "settings.llm.custom_model": "Custom...",
    "settings.llm.custom_model_input": "Custom Model Name",
    "settings.llm.load_models": "Load",
    "settings.llm.load_models_help": "Fetch available models from API",
    "settings.llm.loading_models": "Loading...",
    "settings.llm.models_loaded": "Loaded {count} models",
    "settings.llm.models_load_failed": "Failed to load models: {error}",
    "settings.llm.test_connection": "Test",
    "settings.llm.test_connection_help": "Test API connection",
    "settings.llm.connection_success": "Connection OK! {count} models available",
    "settings.llm.connection_failed": "Connection failed: {error}",
    "settings.comfyui.title": "🔧 ComfyUI Configuration",
    "settings.comfyui.local_title": "Local/Self-hosted ComfyUI",
    "settings.comfyui.cloud_title": "RunningHub Cloud",
    "settings.comfyui.comfyui_url": "ComfyUI Server URL",
    "settings.comfyui.comfyui_url_help": "Local or remote ComfyUI server address",
    "settings.comfyui.comfyui_api_key": "ComfyUI API Key",
    "settings.comfyui.comfyui_api_key_help": "Optional, get from https://platform.comfy.org/profile/api-keys",
    "settings.comfyui.runninghub_api_key": "RunningHub API Key",
    "settings.comfyui.runninghub_api_key_help": "Visit https://runninghub.ai to register and get API Key",
    "settings.comfyui.runninghub_hint": "No local ComfyUI? Use RunningHub Cloud:",
    "settings.comfyui.runninghub_get_api_key": "Get RunningHub API Key",
    "settings.comfyui.runninghub_concurrent_limit": "Concurrent Limit",
    "settings.comfyui.runninghub_concurrent_limit_help": "RunningHub concurrent execution limit (1-10), default is 1 for regular members, adjust based on your membership level",
    "settings.comfyui.runninghub_instance_type": "Machine Spec",
    "settings.comfyui.runninghub_instance_type_help": "Select RunningHub machine spec, 48G VRAM is suitable for large models or high-resolution generation (requires membership support)",
    "settings.comfyui.runninghub_instance_24g": "24G VRAM",
    "settings.comfyui.runninghub_instance_48g": "48G VRAM",
    "tts.inference_mode": "Synthesis Mode",
    "tts.mode.local": "Local Synthesis",
    "tts.mode.comfyui": "ComfyUI Synthesis",
    "tts.mode.local_hint": "💡 Using Edge TTS, no configuration required, ready to use",
    "tts.mode.comfyui_hint": "⚙️ Using ComfyUI workflows, flexible and powerful",
    "tts.voice_selector": "Voice Selection",
    "tts.speed": "Speed",
    "tts.speed_label": "{speed}x",
    "tts.voice.zh_CN_XiaoxiaoNeural": "zh-CN-XiaoxiaoNeural",
    "tts.voice.zh_CN_XiaoyiNeural": "zh-CN-XiaoyiNeural",
    "tts.voice.zh_CN_YunjianNeural": "zh-CN-YunjianNeural",
    "tts.voice.zh_CN_YunxiNeural": "zh-CN-YunxiNeural",
    "tts.voice.zh_CN_YunyangNeural": "zh-CN-YunyangNeural",
    "tts.voice.zh_CN_YunyeNeural": "zh-CN-YunyeNeural",
    "tts.voice.zh_CN_YunfengNeural": "zh-CN-YunfengNeural",
    "tts.voice.zh_CN_liaoning_XiaobeiNeural": "zh-CN-liaoning-XiaobeiNeural",
    "tts.voice.en_US_AriaNeural": "en-US-AriaNeural",
    "tts.voice.en_US_JennyNeural": "en-US-JennyNeural",
    "tts.voice.en_US_GuyNeural": "en-US-GuyNeural",
    "tts.voice.en_US_DavisNeural": "en-US-DavisNeural",
    "tts.voice.en_GB_SoniaNeural": "en-GB-SoniaNeural",
    "tts.voice.en_GB_RyanNeural": "en-GB-RyanNeural",
    "tts.voice.ko-KR-InJoonNeural": "KR Male-Friendly（InJoon）",
    "tts.voice.ko-KR-SunHiNeural": "KR Female-Friendly（SunHi）",
    "tts.voice.fr-FR-EloiseNeural": "FR Female-Friendly（Eloise）",
    "tts.voice.fr-FR-HenriNeural": "FR Male-Friendly（Henri）",
    "tts.voice.pt-PT-DuarteNeural": "PT Male-Friendly（Duarte）",
    "tts.voice.pt-PT-RaquelNeural": "PT Female-Friendly（Raquel）",
    "tts.voice.de-DE-AmalaNeural": "DE Female-Friendly（Amala）",
    "tts.voice.de-DE-ConradNeural": "DE Male-Friendly（Conrad）",
    "tts.voice.ru-RU-DmitryNeural": "RU Male-Friendly（Dmitry）",
    "tts.voice.ru-RU-SvetlanaNeural": "RU Female-Friendly（Svetlana）",
    "tts.voice.tr-TR-AhmetNeural": "TR Male-Friendly（Ahmet）",
    "tts.voice.tr-TR-EmelNeural": "TR Female-Friendly（Emel）",
    "tts.voice.es-ES-AlvaroNeural": "ES Male-Friendly（Alvaro）",
    "tts.voice.es-ES-ElviraNeural": "ES Female-Friendly（Elvira）",
    "tts.selector": "Workflow Selection",
    "tts.what": "Converts narration text to natural human-like speech (some workflows support reference audio for voice cloning)",
    "tts.how": "Place the exported tts_xxx.json workflow file(API format) into the workflows/selfhost/ folder (for local ComfyUI) or the workflows/runninghub/ folder (for cloud)",
    "tts.ref_audio": "Reference Audio",
    "tts.ref_audio_help": "Upload audio file for voice cloning (only supported by some workflows)",
    "tts.preview_title": "Preview TTS",
    "tts.preview_text": "Preview Text",
    "tts.preview_text_placeholder": "Enter text to preview...",
    "tts.preview_button": "🔊 Generate Preview",
    "tts.previewing": "Generating TTS preview...",
    "tts.preview_success": "✅ Preview generated successfully!",
    "tts.preview_failed": "❌ Preview failed: {error}",
    "welcome.first_time": "🎉 Welcome to Pixelle-Video! Please complete basic configuration",
    "welcome.config_hint": "💡 First-time setup requires API Key configuration, you can modify it in advanced settings later",
    "wizard.llm_required": "🤖 Large Language Model Configuration (Required)",
    "wizard.image_optional": "🎨 Image Generation Configuration (Optional)",
    "wizard.image_hint": "💡 If not configured, default template will be used (no AI image generation)",
    "wizard.configure_image": "Configure Image Generation (Recommended)",
    "label.required": "(Required)",
    "label.optional": "(Optional)",
    "help.feature_description": "💡 Feature Description",
    "help.what": "Purpose",
    "help.how": "Customization",
    "language.select": "🌐 Language",
    "version.title": "📦 Version Info",
    "version.current": "Current Version",
    "github.title": "⭐ Open Source Support",
    "history.page_title": "📚 Generation History",
    "history.total_tasks": "Total Tasks",
    "history.completed_count": "Completed",
    "history.failed_count": "Failed",
    "history.total_duration": "Total Duration",
    "history.total_size": "Total Size",
    "history.filter_status": "Filter Status",
    "history.status_all": "All",
    "history.status_completed": "Completed",
    "history.status_failed": "Failed",
    "history.status_running": "Running",
    "history.status_pending": "Pending",
    "history.sort_by": "Sort By",
    "history.sort_created_at": "Created Time",
    "history.sort_completed_at": "Completed Time",
    "history.sort_title": "Title",
    "history.sort_duration": "Duration",
    "history.sort_order_desc": "Descending",
    "history.sort_order_asc": "Ascending",
    "history.page_size": "Page Size",
    "history.no_tasks": "No tasks yet",
    "history.task_card.title": "Title",
    "history.task_card.created_at": "Created",
    "history.task_card.duration": "Duration",
    "history.task_card.frames": "Frames",
    "history.task_card.view_detail": "View Detail",
    "history.task_card.duplicate": "Duplicate",
    "history.task_card.delete": "Delete",
    "history.task_card.download": "Download",
    "history.task_card.status_completed": "✅ Completed",
    "history.task_card.status_failed": "❌ Failed",
    "history.task_card.status_running": "⏳ Running",
    "history.task_card.status_pending": "⏸️ Pending",
    "history.detail.modal_title": "Task Detail",
    "history.detail.task_id": "Task ID",
    "history.detail.input_params": "Input Parameters",
    "history.detail.text": "Text",
    "history.detail.mode": "Mode",
    "history.detail.n_scenes": "Scenes",
    "history.detail.tts_mode": "TTS Mode",
    "history.detail.voice": "Voice",
    "history.detail.storyboard": "Storyboard",
    "history.detail.frame_index": "Frame {index}",
    "history.detail.frame": "Frame",
    "history.detail.download_video": "Download Video",
    "history.detail.narration": "Narration",
    "history.detail.image_prompt": "Image Prompt",
    "history.detail.audio_path": "Audio",
    "history.detail.image_path": "Image",
    "history.detail.video_segment_path": "Video Segment",
    "history.detail.close": "Close",
    "history.action.duplicate_success": "✅ Parameters duplicated, redirecting...",
    "history.action.duplicate_failed": "❌ Duplication failed: {error}",
    "history.action.delete_confirm": "Confirm deletion? This action cannot be undone!",
    "history.action.delete_success": "✅ Task deleted",
    "history.action.delete_failed": "❌ Deletion failed: {error}",
    "history.page_info": "Page {page} / {total_pages}",
    "batch.mode_label": "🔢 Batch Generation Mode",
    "batch.mode_help": "Generate multiple videos, one topic per line",
    "batch.section_title": "Batch Topics Input",
    "batch.section_generation": "📦 Batch Video Generation",
    "batch.rules_title": "Batch Generation Rules",
    "batch.rule_1": "Automatically use 'AI Generate Content' mode",
    "batch.rule_2": "Enter one topic per line",
    "batch.rule_3": "All videos use the same configuration (TTS, template, workflow, etc.)",
    "batch.topics_label": "Batch Topics (one per line)",
    "batch.topics_placeholder": "Why develop a reading habit\nHow to manage time efficiently\n5 secrets to healthy living\nBenefits of waking up early\nHow to overcome procrastination\nTechniques to stay focused\nEmotional management methods\nTips to improve memory\nBuilding good relationships\nWealth management basics",
    "batch.topics_help": "One video topic per line, AI will generate content based on the topic",
    "batch.count_success": "✅ Detected {count} topics",
    "batch.count_error": "❌ Batch size exceeds limit (max 100), current: {count}",
    "batch.preview_title": "📋 Preview Topic List",
    "batch.title_prefix_label": "Title Prefix (optional)",
    "batch.title_prefix_placeholder": "e.g., Knowledge Sharing",
    "batch.title_prefix_help": "Final title format: {prefix} - {topic}, e.g., Knowledge Sharing - Why develop a reading habit",
    "batch.n_scenes_label": "Scenes (unified for all videos)",
    "batch.n_scenes_help": "Number of scenes per video, same setting for all videos",
    "batch.n_scenes_caption": "Scenes: {n}",
    "batch.config_info": "Other configurations: TTS voice, video template, image workflow, etc. will use the settings from the right panel, unified for all videos",
    "batch.no_topics": "⚠️ Please enter batch topics on the left (one per line)",
    "batch.prepare_info": "📊 Ready to generate {count} videos (using same configuration)",
    "batch.estimated_time": "⏱️ Estimated time: about {minutes} minutes",
    "batch.generate_button": "🚀 Batch Generate {count} Videos",
    "batch.generate_help": "⚠️ Please keep the page open during batch generation, do not close the browser",
    "batch.overall_progress": "Overall Progress",
    "batch.current_task": "Current Task",
    "batch.completed": "Batch generation completed!",
    "batch.results_title": "📊 Batch Generation Results",
    "batch.total": "Total",
    "batch.success": "Success",
    "batch.failed": "Failed",
    "batch.total_time": "Total Time",
    "batch.minutes": "m",
    "batch.seconds": "s",
    "batch.success_message": "✅ Batch generation completed! All videos have been saved to history.",
    "batch.view_in_history": "💡 Tip: You can view all generated videos in the '📚 History' page.",
    "batch.goto_history": "Go to History Page",
    "batch.failed_list": "❌ Failed Tasks",
    "batch.task": "Task",
    "batch.error": "Error",
    "batch.error_detail": "View detailed error stack",
    "pipeline.quick_create.name": "Quick Create",
    "pipeline.quick_create.description": "Input an idea, AI completes the entire video for you",
    "pipeline.custom_media.name": "Custom Media",
    "pipeline.custom_media.description": "Use your own photos/videos, AI adds narration and voiceover",
    "pipeline.digital_human.name": "Digital Human Broadcast",
    "pipeline.digital_human.description": "Use a piece of text, two images, and an audio clip, and AI will generate a digital human video for you",
    "pipeline.i2v.name": "Image To Video",
    "pipeline.i2v.description": "Enter an image and a prompt, and AI will instantly generate a video",
    "pipeline.action_transfer.name": "Action Transfer",
    "pipeline.action_transfer.description": "One image, one video, recreate amazing moves",
    "asset_based.section.assets": "📦 Asset Upload",
    "asset_based.section.video_info": "📝 Video Information",
    "asset_based.section.source": "⚙️ Service Configuration",
    "asset_based.assets.what": "Upload your images or video assets, AI will automatically analyze them and generate a video script",
    "asset_based.assets.how": "Supports JPG/PNG/GIF/WebP images and MP4/MOV/AVI videos. Each asset should be clear and relevant",
    "asset_based.assets.upload": "Upload Assets",
    "asset_based.assets.upload_help": "Supports multiple image or video files",
    "asset_based.assets.count": "✅ Uploaded {count} assets",
    "asset_based.assets.preview": "📷 Asset Preview",
    "asset_based.assets.empty_hint": "💡 Please upload at least one image or video asset",
    "asset_based.video_title": "Video Title (Optional)",
    "asset_based.video_title_placeholder": "e.g., Pet Store Year-End Sale",
    "asset_based.video_title_help": "Main title for the video, leave empty to hide title",
    "asset_based.intent": "Video Intent",
    "asset_based.intent_placeholder": "e.g., Promote our pet store's year-end special offers to attract more customers, use a warm and friendly tone",
    "asset_based.intent_help": "Describe the purpose, message, and desired style of this video",
    "asset_based.duration": "Target Duration (seconds)",
    "asset_based.duration_help": "Expected video duration, AI will adjust based on asset count",
    "asset_based.duration_label": "Target Duration: {seconds}s",
    "asset_based.source.what": "Select the service provider for image analysis",
    "asset_based.source.how": "RunningHub is a cloud service requiring API Key; SelfHost uses local ComfyUI",
    "asset_based.source.select": "Select Service",
    "asset_based.source.runninghub": "☁️ RunningHub (Cloud)",
    "asset_based.source.selfhost": "🖥️ SelfHost (Local)",
    "asset_based.source.runninghub_hint": "💡 Using RunningHub cloud service for asset analysis",
    "asset_based.source.selfhost_hint": "💡 Using local ComfyUI service for asset analysis",
    "asset_based.source.runninghub_not_configured": "⚠️ RunningHub API Key not configured",
    "asset_based.source.selfhost_not_configured": "⚠️ Local ComfyUI URL not configured",
    "asset_based.output.no_assets": "💡 Please upload assets on the left first",
    "asset_based.output.ready": "📦 {count} assets ready, you can start generating",
    "asset_based.progress.analyzing": "🔍 Analyzing assets...",
    "asset_based.progress.analyzing_start": "🔍 Starting to analyze {total} assets...",
    "asset_based.progress.analyzing_asset": "🔍 Analyzing asset {current}/{total}: {name}",
    "asset_based.progress.analyzing_complete": "✅ Asset analysis complete ({count} total)",
    "asset_based.progress.generating_script": "📝 Generating video script...",
    "asset_based.progress.script_complete": "✅ Script generation complete",
    "asset_based.progress.concat_complete": "✅ Video concatenation complete",
    "digital_human.section.character_assets": "😊 Character Image Upload",
    "digital_human.assets.character_what": "Upload an image for the digital human character",
    "digital_human.assets.character_warning": "Please upload a character image",
    "digital_human.assets.goods_warning": "Please upload product images",
    "digital_human.assets.digital_mode": "Please enter a custom in-video script or an AI-generated theme",
    "digital_human.assets.digital_mode_warning": "⚠️ Only one in-video script or AI-generated theme needs to be entered. If an in-video script has already been entered, the content of the AI-generated theme will not be considered",
    "digital_human.assets.customize_mode": "Please enter a custom voiceover message",
    "digital_human.assets.how": "Supported formats: JPG/PNG/WebP; clear and relevant images are recommended",
    "digital_human.assets.upload": "Upload Asset",
    "digital_human.assets.upload_help": "Only single image upload is supported",
    "digital_human.assets.character_sucess": "Character image uploaded successfully",
    "digital_human.assets.preview": "📷 Asset Preview",
    "digital_human.assets.character_empty_hint": "💡 Please upload a digital human character image",
    "digital_human.section.select_mode": "💫 Select Generation Mode",
    "digital_human.assets.mode_what": "Select the required digital human generation mode",
    "digital_human.assets.select_how": "Supports smart product promotion mode and custom narration mode",
    "digital_human.input.topic_placeholder": "Narration script\nExample: Fragrance leaves lasting memories. If you're looking for your own personalized fragrance, why not try TALIA?",
    "digital_human.input.content_placeholder": "Used directly, no rewriting\nExample:\nFragrance leaves lasting memories. If you're looking for your own personalized fragrance, try TALIA. It is exquisite and profound, enhancing your charm. Create wonderful moments today with TALIA.",
    "digital_human.assets.goods_sucess": "Product image uploaded successfully",
    "digital_human.assets.goods_empty_hint": "💡 Please upload a product image",
    "digital_human.section.goods_info": "🗃️ Product Information",
    "digital_human.goods_title": "AI-created narration",
    "digital_human.goods_title_placeholder": "Example: lipstick, coffee machine, robot vacuum, etc.",
    "digital_human.goods_title_help": "The product name. If provided, AI will generate narration automatically. You don’t need to enter the product description again unless needed—add it below if required.",
    "digital_human.input_text": "Narration script",
    "digital_human.customize_text": "Custom text",
    "digital_human.section.workflow": "⚙️ Workflow Loading",
    "digital_human.workflow.what": "Configure the two-step workflow for digital human video generation: step 1 generates collage and script, step 2 generates final video",
    "digital_human.workflow.first_step": "Narration & collage workflow loaded successfully",
    "digital_human.workflow.second_step": "Digital human composition workflow loaded successfully",
    "digital_human.workflow.ready": "Digital human workflow is ready. You can start video generation",
    "digital_human.workflow.missing": "Missing required digital human workflow. Please check the configuration",
    "digital_tts.what": "Convert narration text to natural human-like speech",
    "i2v.video_generation": "🛠️ Configuration parameters",
    "i2v.assets.image_what": "Reference image of the first frame generated from the uploaded video",
    "i2v.assets.how": "Supports JPG/PNG/WebP and other image formats. Clear and relevant images are recommended. Accurate and specific video prompts will enhance the video effect",
    "i2v.input.topic_placeholder": "Enter creative prompts (e.g., audio and rhythm, shot and motion rules, overall visual style, color and color grading, etc.)",
    "i2v.assets.upload": "Upload the first frame image of the video",
    "i2v.assets.upload_help": "Single image upload only",
    "i2v.assets.character_sucess": "Upload successful",
    "i2v.assets.preview": "📷 Material preview",
    "i2v.assets.character_empty_hint": "💡 Please upload the first frame image of the video you want to generate",
    "i2v.input_text": "Video prompt text",
    "i2v.assets.image_warning": "Upload the first frame image of the video",
    "i2v.assets.prompt_warning": "Please enter the video prompt text",
    "i2v.workflow_select": "Selection of image-to-video workflow (including local and runninghub)",
    "action_transfer.video_upload": "🎞️Video footage",
    "action_transfer.assets.video_what": "Upload the reference video used for the migration action",
    "action_transfer.assets.video_how": "Supports MP4/MKV/MOV image formats. The reference video only supports single-person action migration. It is recommended that the video action be clearly displayed",
    "action_transfer.assets.video_upload": "Upload the reference action video",
    "action_transfer.assets.video_upload_help": "Only supports single video uploads, and the video can only show one person. The video length must be less than or equal to 30 seconds. If the video length is longer than 30 seconds, only the first 30 seconds will be used as a reference",
    "action_transfer.assets.video_sucess": "Uploaded material successfully",
    "action_transfer.assets.preview": "👀 Material preview",
    "action_transfer.assets.video_empty_hint": "💡 Please upload a reference video for the action transfer",
    "action_transfer.image_upload": "✏️ Configuration parameters",
    "action_transfer.assets.image_what": "Upload the image to be used for the action to be transferred",
    "action_transfer.assets.image_how": "Supports JPG/PNG/WebP and other image formats. Clear and relevant images are recommended",
    "action_transfer.assets.image_upload": "Upload the image for the transfer action",
    "action_transfer.assets.image_upload_help": "Single image uploads are supported only; images featuring a single person will produce the best results",
    "action_transfer.assets.image_sucess": "Upload successful",
    "action_transfer.assets.image_empty_hint": "💡 Please upload a reference video for motion transfer",
    "action_transfer.input_text": "Video prompt",
    "action_transfer.input.topic_placeholder": "Enter a creative prompt (e.g., imitate the dance in the reference video, keeping the position constant, with consistent and synchronized steps, etc.)",
    "action_transfer.workflow_select": "Motion transfer workflow selection (including local and runninghub)",
    "action_transfer.assets.image_warning": "Upload an image for the transfer motion",
    "action_transfer.assets.video_warning": "Upload a reference video for motion transfer",
    "action_transfer.assets.prompt_warning": "Please enter a video prompt",

    "faq.expand_to_view": "FAQ",
    "faq.load_error": "Failed to load FAQ content",
    "faq.more_help": "Need more help?",

    "selfhost.warning.title": "You have selected a SelfHost (local) workflow. Please confirm the following:",
    "selfhost.warning.message": "1. First, **load and run** `{workflow_path}` workflow in your ComfyUI environment ({comfyui_url})\n2. Ensure the workflow **runs successfully** without missing nodes or models\n3. After the workflow is verified, return to this project to use it",
    "selfhost.warning.hint": "⚠️ If you haven't verified this workflow in ComfyUI, subsequent runs **will definitely fail** (usually 400 error)! Do not skip this step.",
    "selfhost.warning.confirm": "I understand, continue"
  }
}
