diff --git a/src/locales/en/main.json b/src/locales/en/main.json index c0d94794b6..42f1922e6b 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -1,5 +1,6 @@ { "g": { + "user": "User", "currentUser": "Current user", "empty": "Empty", "noWorkflowsFound": "No workflows found.", @@ -12,6 +13,7 @@ "terminal": "Terminal", "logs": "Logs", "videoFailedToLoad": "Video failed to load", + "audioFailedToLoad": "Audio failed to load", "extensionName": "Extension Name", "reloadToApplyChanges": "Reload to apply changes", "insert": "Insert", @@ -20,13 +22,24 @@ "about": "About", "add": "Add", "confirm": "Confirm", + "confirmed": "Confirmed", "reset": "Reset", - "resetKeybindingsTooltip": "Reset keybindings to default", + "resetAll": "Reset All", + "clearFilters": "Clear Filters", + "resetAllKeybindingsTooltip": "Reset all keybindings to default", "customizeFolder": "Customize Folder", "icon": "Icon", "color": "Color", "error": "Error", + "help": "Help", "loading": "Loading", + "loadingPanel": "Loading {panel} panel...", + "preview": "PREVIEW", + "addNodeFilterCondition": "Add node filter condition", + "architecture": "Architecture", + "author": "Author", + "usageHint": "Usage hint", + "triggerPhrase": "Trigger phrase", "findIssues": "Find Issues", "reportIssue": "Send Report", "reportIssueTooltip": "Submit the error report to Comfy Org", @@ -40,18 +53,22 @@ "delete": "Delete", "rename": "Rename", "save": "Save", + "saving": "Saving", "no": "No", "cancel": "Cancel", "close": "Close", "back": "Back", "next": "Next", "install": "Install", + "installing": "Installing", "overwrite": "Overwrite", "customize": "Customize", "experimental": "BETA", "deprecated": "DEPR", "loadWorkflow": "Load Workflow", "goToNode": "Go to Node", + "setAsBackground": "Set as Background", + "customBackground": "Custom Background", "settings": "Settings", "searchWorkflows": "Search Workflows", "searchSettings": "Search Settings", @@ -74,21 +91,134 @@ "success": "Success", "ok": "OK", "feedback": "Feedback", + "continue": "Continue", + "control_after_generate": "control after generate", + "control_before_generate": "control before generate", + "choose_file_to_upload": "choose file to upload", + "capture": "capture", + "nodes": "Nodes", + "community": "Community", + "all": "All", + "versionMismatchWarning": "Version Compatibility Warning", + "versionMismatchWarningMessage": "{warning}: {detail} Visit https://docs.comfy.org/installation/update_comfyui#common-update-issues for update instructions.", + "frontendOutdated": "Frontend version {frontendVersion} is outdated. Backend requires {requiredVersion} or higher.", + "frontendNewer": "Frontend version {frontendVersion} may not be compatible with backend version {backendVersion}.", + "updateFrontend": "Update Frontend", + "dismiss": "Dismiss", + "update": "Update", + "updated": "Updated", + "resultsCount": "Found {count} Results", + "status": "Status", + "description": "Description", + "name": "Name", + "category": "Category", + "sort": "Sort", + "source": "Source", + "filter": "Filter", + "apply": "Apply", + "enabled": "Enabled", + "installed": "Installed", + "restart": "Restart", + "missing": "Missing", + "inProgress": "In progress", + "completed": "Completed", + "interrupted": "Interrupted", + "enabling": "Enabling", + "disabling": "Disabling", + "updating": "Updating", + "migrate": "Migrate", + "updateAvailable": "Update Available", + "login": "Login", + "learnMore": "Learn more", + "amount": "Amount", + "unknownError": "Unknown error", + "title": "Title", + "edit": "Edit", + "copy": "Copy", + "imageUrl": "Image URL", + "clear": "Clear", + "copyURL": "Copy URL", + "releaseTitle": "{package} {version} Release", + "progressCountOf": "of", + "keybindingAlreadyExists": "Keybinding already exists on", + "startRecording": "Start Recording", + "stopRecording": "Stop Recording", + "micPermissionDenied": "Microphone permission denied", + "noAudioRecorded": "No audio recorded", + "nodesRunning": "nodes running", + "duplicate": "Duplicate", "audio": "Audio", "folder": "Folder", "image": "Image", "itemsCount": "{0} Items", "modifyTime": "Modify Time", - "name": "Name", "searchIn": "Search in {0}", "size": "Size", "type": "Type", "video": "Video" }, + "manager": { + "title": "Custom Nodes Manager", + "failed": "Failed ({count})", + "noNodesFound": "No nodes found", + "noNodesFoundDescription": "The pack's nodes either could not be parsed, or the pack is a frontend extension only and doesn't have any nodes.", + "installationQueue": "Installation Queue", + "changingVersion": "Changing version from {from} to {to}", + "dependencies": "Dependencies", + "inWorkflow": "In Workflow", + "infoPanelEmpty": "Click an item to see the info", + "restartToApplyChanges": "To apply changes, please restart ComfyUI", + "loadingVersions": "Loading versions...", + "selectVersion": "Select Version", + "downloads": "Downloads", + "repository": "Repository", + "uninstall": "Uninstall", + "uninstalling": "Uninstalling", + "update": "Update", + "uninstallSelected": "Uninstall Selected", + "updatingAllPacks": "Updating all packages", + "license": "License", + "nightlyVersion": "Nightly", + "latestVersion": "Latest", + "createdBy": "Created By", + "totalNodes": "Total Nodes", + "discoverCommunityContent": "Discover community-made Node Packs, Extensions, and more...", + "errorConnecting": "Error connecting to the Comfy Node Registry.", + "noResultsFound": "No results found matching your search.", + "tryDifferentSearch": "Please try a different search query.", + "tryAgainLater": "Please try again later.", + "nodePack": "Node Pack", + "searchPlaceholder": "Search", + "version": "Version", + "lastUpdated": "Last Updated", + "noDescription": "No description available", + "installSelected": "Install Selected", + "installAllMissingNodes": "Install All Missing Nodes", + "packsSelected": "Packs Selected", + "status": { + "active": "Active", + "pending": "Pending", + "flagged": "Flagged", + "deleted": "Deleted", + "banned": "Banned", + "unknown": "Unknown" + }, + "sort": { + "downloads": "Most Popular", + "publisher": "Publisher", + "created": "Newest", + "updated": "Updated Recently" + }, + "filter": { + "nodePack": "Node Pack", + "enabled": "Enabled", + "disabled": "Disabled" + } + }, "issueReport": { "submitErrorReport": "Submit Error Report (Optional)", "provideEmail": "Give us your email (optional)", - "provideAdditionalDetails": "Provide additional details (optional)", + "provideAdditionalDetails": "Provide additional details", "stackTrace": "Stack Trace", "systemStats": "System Stats", "contactFollowUp": "Contact me for follow up", @@ -96,20 +226,71 @@ "helpFix": "Help Fix This", "rating": "Rating", "feedbackTitle": "Help us improve ComfyUI by providing feedback", + "contactSupportTitle": "Contact Support", + "contactSupportDescription": "Please fill in the form below with your report", + "selectIssue": "Select the issue", + "whatDoYouNeedHelpWith": "What do you need help with?", + "whatCanWeInclude": "Specify what to include in the report", + "describeTheProblem": "Describe the problem", + "email": "Email", + "helpTypes": { + "billingPayments": "Billing / Payments", + "loginAccessIssues": "Login / Access Issues", + "giveFeedback": "Give Feedback", + "bugReport": "Bug Report", + "somethingElse": "Something Else" + }, "validation": { "maxLength": "Message too long", - "invalidEmail": "Please enter a valid email address" + "invalidEmail": "Please enter a valid email address", + "selectIssueType": "Please select an issue type", + "descriptionRequired": "Description is required", + "helpTypeRequired": "Help type is required" } }, "color": { + "noColor": "No Color", "default": "Default", "blue": "Blue", "green": "Green", "red": "Red", "pink": "Pink", "yellow": "Yellow", + "brown": "Brown", + "pale_blue": "Pale Blue", + "cyan": "Cyan", + "purple": "Purple", + "black": "Black", "custom": "Custom" }, + "contextMenu": { + "Inputs": "Inputs", + "Outputs": "Outputs", + "Properties": "Properties", + "Properties Panel": "Properties Panel", + "Title": "Title", + "Mode": "Mode", + "Resize": "Resize", + "Collapse": "Collapse", + "Expand": "Expand", + "Pin": "Pin", + "Unpin": "Unpin", + "Clone": "Clone", + "Remove": "Remove", + "Colors": "Colors", + "Shapes": "Shapes", + "Bypass": "Bypass", + "Copy (Clipspace)": "Copy (Clipspace)", + "Add Node": "Add Node", + "Add Group": "Add Group", + "Convert to Group Node": "Convert to Group Node", + "Manage Group Nodes": "Manage Group Nodes", + "Add Group For Selected Nodes": "Add Group For Selected Nodes", + "Save Selected as Template": "Save Selected as Template", + "Node Templates": "Node Templates", + "Manage": "Manage", + "Search": "Search" + }, "icon": { "bookmark": "Bookmark", "folder": "Folder", @@ -163,9 +344,11 @@ "pathExists": "Directory already exists - please ensure you have backed up all data", "cannotWrite": "Unable to write to the selected path", "insufficientFreeSpace": "Insufficient space - minimum free space", + "isOneDrive": "OneDrive is not supported. Please install ComfyUI in another location.", + "nonDefaultDrive": "Please install ComfyUI on your system drive (eg. C:\\). Drives with different file systems may cause unpredicable issues. Models and other files can be stored on other drives after installation.", "parentMissing": "Path does not exist - create the containing directory first", "unhandledError": "Unknown error", - "installLocationDescription": "Select the directory for ComfyUI's user data. A python environment will be installed to the selected location. Please make sure the selected disk has enough space (~15GB) left.", + "installLocationDescription": "Select the directory for ComfyUI's user data. A python environment will be installed to the selected location.", "installLocationTooltip": "ComfyUI's user data directory. Stores:\n- Python Environment\n- Models\n- Custom nodes\n", "appDataLocationTooltip": "ComfyUI's app data directory. Stores:\n- Logs\n- Server configs", "appPathLocationTooltip": "ComfyUI's app asset directory. Stores the ComfyUI code and assets", @@ -222,7 +405,13 @@ "customNodeConfigurations": "Custom node configurations" }, "viewFullPolicy": "View full policy" - } + }, + "pythonMirrorPlaceholder": "Enter Python mirror URL", + "pypiMirrorPlaceholder": "Enter PyPI mirror URL", + "checkingMirrors": "Checking network access to python mirrors...", + "mirrorsReachable": "Network access to python mirrors is good", + "mirrorsUnreachable": "Network access to some python mirrors is bad", + "mirrorSettings": "Mirror Settings" }, "customNodes": "Custom Nodes", "customNodesDescription": "Reinstall custom nodes from existing ComfyUI installations.", @@ -234,7 +423,7 @@ "updateConsent": "You previously opted in to reporting crashes. We are now tracking event-based metrics to help identify bugs and improve the app. No personal identifiable information is collected." }, "serverStart": { - "reinstall": "Reinstall", + "troubleshoot": "Troubleshoot", "reportIssue": "Report Issue", "openLogs": "Open Logs", "showTerminal": "Show Terminal", @@ -252,19 +441,42 @@ "restart": "Restart" }, "sideToolbar": { - "themeToggle": "Toggle Theme", + "helpCenter": "Help Center", "logout": "Logout", "queue": "Queue", "nodeLibrary": "Node Library", "workflows": "Workflows", + "templates": "Templates", + "labels": { + "queue": "Queue", + "nodes": "Nodes", + "models": "Models", + "workflows": "Workflows", + "templates": "Templates" + }, "browseTemplates": "Browse example templates", "openWorkflow": "Open workflow in local file system", "newBlankWorkflow": "Create a new blank workflow", "nodeLibraryTab": { - "sortOrder": "Sort Order" + "groupBy": "Group By", + "sortMode": "Sort Mode", + "resetView": "Reset View to Default", + "groupStrategies": { + "category": "Category", + "categoryDesc": "Group by node category", + "module": "Module", + "moduleDesc": "Group by module source", + "source": "Source", + "sourceDesc": "Group by source type (Core, Custom, API)" + }, + "sortBy": { + "original": "Original", + "originalDesc": "Keep original order", + "alphabetical": "Alphabetical", + "alphabeticalDesc": "Sort alphabetically within groups" + } }, "modelLibrary": "Model Library", - "outputExplorer": "Output Explorer", "downloads": "Downloads", "queueTab": { "showFlatList": "Show Flat List", @@ -286,6 +498,7 @@ "deleteFailed": "Attempt to delete the workflow failed.", "dirtyCloseTitle": "Save Changes?", "dirtyClose": "The files below have been changed. Would you like to save them before closing?", + "dirtyCloseHint": "Hold Shift to close without prompt", "confirmOverwriteTitle": "Overwrite existing file?", "confirmOverwrite": "The file below already exists. Would you like to overwrite it?", "workflowTreeType": { @@ -293,7 +506,28 @@ "bookmarks": "Bookmarks", "open": "Open" } - } + }, + "outputExplorer": "Output Explorer" + }, + "helpCenter": { + "docs": "Docs", + "github": "Github", + "helpFeedback": "Help & Feedback", + "more": "More...", + "whatsNew": "What's New?", + "clickToLearnMore": "Click to learn more →", + "loadingReleases": "Loading releases...", + "noRecentReleases": "No recent releases", + "updateAvailable": "Update", + "desktopUserGuide": "Desktop User Guide", + "openDevTools": "Open Dev Tools", + "reinstall": "Re-Install" + }, + "releaseToast": { + "newVersionAvailable": "New Version Available!", + "whatsNew": "What's New?", + "skip": "Skip", + "update": "Update" }, "menu": { "hideMenu": "Hide Menu", @@ -307,16 +541,23 @@ "instantTooltip": "The workflow will be queued instantly after a generation finishes", "onChange": "On Change", "onChangeTooltip": "The workflow will be queued once a change is made", - "queueWorkflow": "Queue workflow (Shift to queue at front)", - "queueWorkflowFront": "Queue workflow at front", - "queue": "Queue", + "runWorkflow": "Run workflow (Shift to queue at front)", + "runWorkflowFront": "Run workflow (Queue at front)", + "run": "Run", "execute": "Execute", "interrupt": "Cancel current run", "refresh": "Refresh node definitions", "clipspace": "Open Clipspace", "resetView": "Reset canvas view", "clear": "Clear workflow", - "toggleBottomPanel": "Toggle Bottom Panel" + "toggleBottomPanel": "Toggle Bottom Panel", + "theme": "Theme", + "dark": "Dark", + "light": "Light", + "manageExtensions": "Manage Extensions", + "settings": "Settings", + "help": "Help", + "queue": "Queue Panel" }, "tabMenu": { "duplicateTab": "Duplicate Tab", @@ -329,11 +570,328 @@ }, "templateWorkflows": { "title": "Get Started with a Template", + "loadingMore": "Loading more templates...", + "searchPlaceholder": "Search templates...", + "category": { + "ComfyUI Examples": "ComfyUI Examples", + "Custom Nodes": "Custom Nodes", + "Basics": "Basics", + "Flux": "Flux", + "ControlNet": "ControlNet", + "Upscaling": "Upscaling", + "Video": "Video", + "Image": "Image", + "Area Composition": "Area Composition", + "3D": "3D", + "Audio": "Audio", + "Image API": "Image API", + "Video API": "Video API", + "LLM API": "LLM API", + "All": "All Templates" + }, + "templateDescription": { + "Basics": { + "default": "Generate images from text prompts.", + "image2image": "Transform existing images using text prompts.", + "lora": "Generate images with LoRA models for specialized styles or subjects.", + "lora_multiple": "Generate images by combining multiple LoRA models.", + "inpaint_example": "Edit specific parts of images seamlessly.", + "inpaint_model_outpainting": "Extend images beyond their original boundaries.", + "embedding_example": "Generate images using textual inversion for consistent styles.", + "gligen_textbox_example": "Generate images with precise object placement using text boxes." + }, + "Flux": { + "flux_kontext_dev_basic": "Edit image using Flux Kontext with full node visibility, perfect for learning the workflow.", + "flux_kontext_dev_grouped": "Streamlined version of Flux Kontext with grouped nodes for cleaner workspace.", + "flux_dev_checkpoint_example": "Generate images using Flux Dev fp8 quantized version. Suitable for devices with limited VRAM, requires only one model file, but image quality is slightly lower than the full version.", + "flux_schnell": "Quickly generate images with Flux Schnell fp8 quantized version. Ideal for low-end hardware, requires only 4 steps to generate images.", + "flux_dev_full_text_to_image": "Generate high-quality images with Flux Dev full version. Requires larger VRAM and multiple model files, but provides the best prompt following capability and image quality.", + "flux_schnell_full_text_to_image": "Generate images quickly with Flux Schnell full version. Uses Apache2.0 license, requires only 4 steps to generate images while maintaining good image quality.", + "flux_fill_inpaint_example": "Fill missing parts of images using Flux inpainting.", + "flux_fill_outpaint_example": "Extend images beyond boundaries using Flux outpainting.", + "flux_canny_model_example": "Generate images guided by edge detection using Flux Canny.", + "flux_depth_lora_example": "Generate images guided by depth information using Flux LoRA.", + "flux_redux_model_example": "Generate images by transferring style from reference images using Flux Redux." + }, + "Image": { + "image_omnigen2_t2i": "Generate high-quality images from text prompts using OmniGen2's unified 7B multimodal model with dual-path architecture.", + "image_omnigen2_image_edit": "Edit images with natural language instructions using OmniGen2's advanced image editing capabilities and text rendering support.", + "image_cosmos_predict2_2B_t2i": "Generate images with Cosmos-Predict2 2B T2I, delivering physically accurate, high-fidelity, and detail-rich image generation.", + "image_chroma_text_to_image": "Chroma is modified from flux and has some changes in the architecture.", + "hidream_i1_dev": "Generate images with HiDream I1 Dev - Balanced version with 28 inference steps, suitable for medium-range hardware.", + "hidream_i1_fast": "Generate images quickly with HiDream I1 Fast - Lightweight version with 16 inference steps, ideal for rapid previews on lower-end hardware.", + "hidream_i1_full": "Generate images with HiDream I1 Full - Complete version with 50 inference steps for highest quality output.", + "hidream_e1_full": "Edit images with HiDream E1 - Professional natural language image editing model.", + "sd3_5_simple_example": "Generate images using SD 3.5.", + "sd3_5_large_canny_controlnet_example": "Generate images guided by edge detection using SD 3.5 Canny ControlNet.", + "sd3_5_large_depth": "Generate images guided by depth information using SD 3.5.", + "sd3_5_large_blur": "Generate images guided by blurred reference images using SD 3.5.", + "sdxl_simple_example": "Generate high-quality images using SDXL.", + "sdxl_refiner_prompt_example": "Enhance SDXL images using refiner models.", + "sdxl_revision_text_prompts": "Generate images by transferring concepts from reference images using SDXL Revision.", + "sdxl_revision_zero_positive": "Generate images using both text prompts and reference images with SDXL Revision.", + "sdxlturbo_example": "Generate images in a single step using SDXL Turbo.", + "image_lotus_depth_v1_1": "Run Lotus Depth in ComfyUI for zero-shot, efficient monocular depth estimation with high detail retention." + }, + "Video": { + "video_cosmos_predict2_2B_video2world_480p_16fps": "Generate videos with Cosmos-Predict2 2B Video2World, generating physically accurate, high-fidelity, and consistent video simulations.", + "video_wan_vace_14B_t2v": "Transform text descriptions into high-quality videos. Supports both 480p and 720p with VACE-14B model.", + "video_wan_vace_14B_ref2v": "Create videos that match the style and content of a reference image. Perfect for style-consistent video generation.", + "video_wan_vace_14B_v2v": "Generate videos by controlling input videos and reference images using Wan VACE.", + "video_wan_vace_outpainting": "Generate extended videos by expanding video size using Wan VACE outpainting.", + "video_wan_vace_flf2v": "Generate smooth video transitions by defining start and end frames. Supports custom keyframe sequences.", + "video_wan_vace_inpainting": "Edit specific regions in videos while preserving surrounding content. Great for object removal or replacement.", + "video_wan2_1_fun_camera_v1_1_1_3B": "Generate dynamic videos with cinematic camera movements using Wan 2.1 Fun Camera 1.3B model.", + "video_wan2_1_fun_camera_v1_1_14B": "Generate high-quality videos with advanced camera control using the full 14B model", + "text_to_video_wan": "Generate videos from text prompts using Wan 2.1.", + "image_to_video_wan": "Generate videos from images using Wan 2.1.", + "wan2_1_fun_inp": "Generate videos from start and end frames using Wan 2.1 inpainting.", + "wan2_1_fun_control": "Generate videos guided by pose, depth, and edge controls using Wan 2.1 ControlNet.", + "wan2_1_flf2v_720_f16": "Generate videos by controlling first and last frames using Wan 2.1 FLF2V.", + "ltxv_text_to_video": "Generate videos from text prompts.", + "ltxv_image_to_video": "Generate videos from still images.", + "mochi_text_to_video_example": "Generate videos from text prompts using Mochi model.", + "hunyuan_video_text_to_video": "Generate videos from text prompts using Hunyuan model.", + "image_to_video": "Generate videos from still images.", + "txt_to_image_to_video": "Generate videos by first creating images from text prompts." + }, + "Image API": { + "api_bfl_flux_1_kontext_multiple_images_input": "Input multiple images and edit them with Flux.1 Kontext.", + "api_bfl_flux_1_kontext_pro_image": "Edit images with Flux.1 Kontext pro image.", + "api_bfl_flux_1_kontext_max_image": "Edit images with Flux.1 Kontext max image.", + "api_bfl_flux_pro_t2i": "Generate images with excellent prompt following and visual quality using FLUX.1 Pro.", + "api_luma_photon_i2i": "Guide image generation using a combination of images and prompt.", + "api_luma_photon_style_ref": "Generate images by blending style references with precise control using Luma Photon.", + "api_recraft_image_gen_with_color_control": "Generate images with custom color palettes and brand-specific visuals using Recraft.", + "api_recraft_image_gen_with_style_control": "Control style with visual examples, align positioning, and fine-tune objects. Store and share styles for perfect brand consistency.", + "api_recraft_vector_gen": "Generate high-quality vector images from text prompts using Recraft's AI vector generator.", + "api_runway_text_to_image": "Generate high-quality images from text prompts using Runway's AI model.", + "api_runway_reference_to_image": "Generate new images based on reference styles and compositions with Runway's AI.", + "api_stability_ai_stable_image_ultra_t2i": "Generate high quality images with excellent prompt adherence. Perfect for professional use cases at 1 megapixel resolution.", + "api_stability_ai_i2i": "Transform images with high-quality generation using Stability AI, perfect for professional editing and style transfer.", + "api_stability_ai_sd3_5_t2i": "Generate high quality images with excellent prompt adherence. Perfect for professional use cases at 1 megapixel resolution.", + "api_stability_ai_sd3_5_i2i": "Generate high quality images with excellent prompt adherence. Perfect for professional use cases at 1 megapixel resolution.", + "api_ideogram_v3_t2i": "Generate professional-quality images with excellent prompt alignment, photorealism, and text rendering using Ideogram V3.", + "api_openai_image_1_t2i": "Generate images from text prompts using OpenAI GPT Image 1 API.", + "api_openai_image_1_i2i": "Generate images from input images using OpenAI GPT Image 1 API.", + "api_openai_image_1_inpaint": "Edit images using inpainting with OpenAI GPT Image 1 API.", + "api_openai_image_1_multi_inputs": "Generate images from multiple inputs using OpenAI GPT Image 1 API.", + "api_openai_dall_e_2_t2i": "Generate images from text prompts using OpenAI Dall-E 2 API.", + "api_openai_dall_e_2_inpaint": "Edit images using inpainting with OpenAI Dall-E 2 API.", + "api_openai_dall_e_3_t2i": "Generate images from text prompts using OpenAI Dall-E 3 API." + }, + "Video API": { + "api_moonvalley_text_to_video": "Generate cinematic, 1080p videos from text prompts through a model trained exclusively on licensed data.", + "api_moonvalley_image_to_video": "Generate cinematic, 1080p videos with an image through a model trained exclusively on licensed data.", + "api_kling_i2v": "Generate videos with excellent prompt adherence for actions, expressions, and camera movements using Kling.", + "api_kling_effects": "Generate dynamic videos by applying visual effects to images using Kling.", + "api_kling_flf": "Generate videos through controlling the first and last frames.", + "api_luma_i2v": "Take static images and instantly create magical high quality animations.", + "api_luma_t2v": "High-quality videos can be generated using simple prompts.", + "api_hailuo_minimax_t2v": "Generate high-quality videos directly from text prompts. Explore MiniMax's advanced AI capabilities to create diverse visual narratives with professional CGI effects and stylistic elements to bring your descriptions to life.", + "api_hailuo_minimax_i2v": "Generate refined videos from images and text with CGI integration using MiniMax.", + "api_pixverse_i2v": "Generate dynamic videos from static images with motion and effects using PixVerse.", + "api_pixverse_template_i2v": "Generate dynamic videos from static images with motion and effects using PixVerse.", + "api_pixverse_t2v": "Generate videos with accurate prompt interpretation and stunning video dynamics.", + "api_runway_gen3a_turbo_image_to_video": "Generate cinematic videos from static images using Runway Gen3a Turbo.", + "api_runway_gen4_turo_image_to_video": "Generate dynamic videos from images using Runway Gen4 Turbo.", + "api_runway_first_last_frame": "Generate smooth video transitions between two keyframes with Runway's precision.", + "api_pika_i2v": "Generate smooth animated videos from single static images using Pika AI.", + "api_pika_scene": "Generate videos that incorporate multiple input images using Pika Scenes.", + "api_veo2_i2v": "Generate videos from images using Google Veo2 API." + }, + "3D API": { + "api_rodin_image_to_model": "Generate detailed 3D models from single photos using Rodin AI.", + "api_rodin_multiview_to_model": "Sculpt comprehensive 3D models using Rodin's multi-angle reconstruction.", + "api_tripo_text_to_model": "Craft 3D objects from descriptions with Tripo's text-driven modeling.", + "api_tripo_image_to_model": "Generate professional 3D assets from 2D images using Tripo engine.", + "api_tripo_multiview_to_model": "Build 3D models from multiple angles with Tripo's advanced scanner." + }, + "LLM API": { + "api_openai_chat": "Engage with OpenAI's advanced language models for intelligent conversations.", + "api_google_gemini": "Experience Google's multimodal AI with Gemini's reasoning capabilities." + }, + "Upscaling": { + "hiresfix_latent_workflow": "Upscale images by enhancing quality in latent space.", + "esrgan_example": "Upscale images using ESRGAN models to enhance quality.", + "hiresfix_esrgan_workflow": "Upscale images using ESRGAN models during intermediate generation steps.", + "latent_upscale_different_prompt_model": "Upscale images while changing prompts across generation passes." + }, + "ControlNet": { + "controlnet_example": "Generate images guided by scribble reference images using ControlNet.", + "2_pass_pose_worship": "Generate images guided by pose references using ControlNet.", + "depth_controlnet": "Generate images guided by depth information using ControlNet.", + "depth_t2i_adapter": "Generate images guided by depth information using T2I adapter.", + "mixing_controlnets": "Generate images by combining multiple ControlNet models." + }, + "Area Composition": { + "area_composition": "Generate images by controlling composition with defined areas.", + "area_composition_square_area_for_subject": "Generate images with consistent subject placement using area composition." + }, + "3D": { + "3d_hunyuan3d_image_to_model": "Generate 3D models from single images using Hunyuan3D 2.0.", + "3d_hunyuan3d_multiview_to_model": "Generate 3D models from multiple views using Hunyuan3D 2.0 MV.", + "3d_hunyuan3d_multiview_to_model_turbo": "Generate 3D models from multiple views using Hunyuan3D 2.0 MV Turbo.", + "stable_zero123_example": "Generate 3D views from single images using Stable Zero123." + }, + "Audio": { + "audio_stable_audio_example": "Generate audio from text prompts using Stable Audio.", + "audio_ace_step_1_t2a_instrumentals": "Generate instrumental music from text prompts using ACE-Step v1.", + "audio_ace_step_1_t2a_song": "Generate songs with vocals from text prompts using ACE-Step v1, supporting multilingual and style customization.", + "audio_ace_step_1_m2m_editing": "Edit existing songs to change style and lyrics using ACE-Step v1 M2M." + } + }, "template": { - "default": "Image Generation", - "image2image": "Image to Image", - "upscale": "2 Pass Upscale", - "flux_schnell": "Flux Schnell" + "Basics": { + "default": "Image Generation", + "image2image": "Image to Image", + "lora": "LoRA", + "lora_multiple": "LoRA Multiple", + "inpaint_example": "Inpaint", + "inpaint_model_outpainting": "Outpaint", + "embedding_example": "Embedding", + "gligen_textbox_example": "Gligen Textbox" + }, + "Flux": { + "flux_kontext_dev_basic": "Flux Kontext Dev(Basic)", + "flux_kontext_dev_grouped": "Flux Kontext Dev(Grouped)", + "flux_dev_checkpoint_example": "Flux Dev fp8", + "flux_schnell": "Flux Schnell fp8", + "flux_dev_full_text_to_image": "Flux Dev full text to image", + "flux_schnell_full_text_to_image": "Flux Schnell full text to image", + "flux_fill_inpaint_example": "Flux Inpaint", + "flux_fill_outpaint_example": "Flux Outpaint", + "flux_canny_model_example": "Flux Canny Model", + "flux_depth_lora_example": "Flux Depth LoRA", + "flux_redux_model_example": "Flux Redux Model" + }, + "Image": { + "image_omnigen2_t2i": "OmniGen2 Text to Image", + "image_omnigen2_image_edit": "OmniGen2 Image Edit", + "image_cosmos_predict2_2B_t2i": "Cosmos Predict2 2B T2I", + "image_chroma_text_to_image": "Chroma text to image", + "hidream_i1_dev": "HiDream I1 Dev", + "hidream_i1_fast": "HiDream I1 Fast", + "hidream_i1_full": "HiDream I1 Full", + "hidream_e1_full": "HiDream E1 Full", + "sd3_5_simple_example": "SD3.5 Simple", + "sd3_5_large_canny_controlnet_example": "SD3.5 Large Canny ControlNet", + "sd3_5_large_depth": "SD3.5 Large Depth", + "sd3_5_large_blur": "SD3.5 Large Blur", + "sdxl_simple_example": "SDXL Simple", + "sdxl_refiner_prompt_example": "SDXL Refiner Prompt", + "sdxl_revision_text_prompts": "SDXL Revision Text Prompts", + "sdxl_revision_zero_positive": "SDXL Revision Zero Positive", + "sdxlturbo_example": "SDXL Turbo", + "image_lotus_depth_v1_1": "Lotus Depth" + }, + "Video": { + "video_cosmos_predict2_2B_video2world_480p_16fps": "Cosmos Predict2 2B Video2World 480p 16fps", + "video_wan_vace_14B_t2v": "Wan VACE Text to Video", + "video_wan_vace_14B_ref2v": "Wan VACE Reference to Video", + "video_wan_vace_14B_v2v": "Wan VACE Control Video", + "video_wan_vace_outpainting": "Wan VACE Outpainting", + "video_wan_vace_flf2v": "Wan VACE First-Last Frame", + "video_wan_vace_inpainting": "Wan VACE Inpainting", + "video_wan2_1_fun_camera_v1_1_1_3B": "Wan 2.1 Fun Camera 1.3B", + "video_wan2_1_fun_camera_v1_1_14B": "Wan 2.1 Fun Camera 14B", + "text_to_video_wan": "Wan 2.1 Text to Video", + "image_to_video_wan": "Wan 2.1 Image to Video", + "wan2_1_fun_inp": "Wan 2.1 Inpainting", + "wan2_1_fun_control": "Wan 2.1 ControlNet", + "wan2_1_flf2v_720_f16": "Wan 2.1 FLF2V 720p F16", + "ltxv_text_to_video": "LTXV Text to Video", + "ltxv_image_to_video": "LTXV Image to Video", + "mochi_text_to_video_example": "Mochi Text to Video", + "hunyuan_video_text_to_video": "Hunyuan Video Text to Video", + "image_to_video": "SVD Image to Video", + "txt_to_image_to_video": "SVD Text to Image to Video" + }, + "Image API": { + "api_bfl_flux_1_kontext_multiple_images_input": "BFL Flux.1 Kontext Multiple Image Input", + "api_bfl_flux_1_kontext_pro_image": "BFL Flux.1 Kontext Pro", + "api_bfl_flux_1_kontext_max_image": "BFL Flux.1 Kontext Max", + "api_bfl_flux_pro_t2i": "BFL Flux[Pro]: Text to Image", + "api_luma_photon_i2i": "Luma Photon: Image to Image", + "api_luma_photon_style_ref": "Luma Photon: Style Reference", + "api_recraft_image_gen_with_color_control": "Recraft: Color Control Image Generation", + "api_recraft_image_gen_with_style_control": "Recraft: Style Control Image Generation", + "api_recraft_vector_gen": "Recraft: Vector Generation", + "api_runway_text_to_image": "Runway: Text to Image", + "api_runway_reference_to_image": "Runway: Reference to Image", + "api_stability_ai_stable_image_ultra_t2i": "Stability AI: Stable Image Ultra Text to Image", + "api_stability_ai_i2i": "Stability AI: Image to Image", + "api_stability_ai_sd3_5_t2i": "Stability AI: SD3.5 Text to Image", + "api_stability_ai_sd3_5_i2i": "Stability AI: SD3.5 Image to Image", + "api_ideogram_v3_t2i": "Ideogram V3: Text to Image", + "api_openai_image_1_t2i": "OpenAI: GPT-Image-1 Text to Image", + "api_openai_image_1_i2i": "OpenAI: GPT-Image-1 Image to Image", + "api_openai_image_1_inpaint": "OpenAI: GPT-Image-1 Inpaint", + "api_openai_image_1_multi_inputs": "OpenAI: GPT-Image-1 Multi Inputs", + "api_openai_dall_e_2_t2i": "OpenAI: Dall-E 2 Text to Image", + "api_openai_dall_e_2_inpaint": "OpenAI: Dall-E 2 Inpaint", + "api_openai_dall_e_3_t2i": "OpenAI: Dall-E 3 Text to Image" + }, + "Video API": { + "api_moonvalley_text_to_video": "Moonvalley: Text to Video", + "api_moonvalley_image_to_video": "Moonvalley: Image to Video", + "api_kling_i2v": "Kling: Image to Video", + "api_kling_effects": "Kling: Video Effects", + "api_kling_flf": "Kling: FLF2V", + "api_luma_i2v": "Luma: Image to Video", + "api_luma_t2v": "Luma: Text to Video", + "api_hailuo_minimax_t2v": "MiniMax: Text to Video", + "api_hailuo_minimax_i2v": "MiniMax: Image to Video", + "api_pixverse_i2v": "PixVerse: Image to Video", + "api_pixverse_template_i2v": "PixVerse Templates: Image to Video", + "api_pixverse_t2v": "PixVerse: Text to Video", + "api_runway_gen3a_turbo_image_to_video": "Runway: Gen3a Turbo Image to Video", + "api_runway_gen4_turo_image_to_video": "Runway: Gen4 Turbo Image to Video", + "api_runway_first_last_frame": "Runway: First Last Frame to Video", + "api_pika_i2v": "Pika: Image to Video", + "api_pika_scene": "Pika Scenes: Images to Video", + "api_veo2_i2v": "Veo2: Image to Video" + }, + "3D API": { + "api_rodin_image_to_model": "Rodin: Image to Model", + "api_rodin_multiview_to_model": "Rodin: Multiview to Model", + "api_tripo_text_to_model": "Tripo: Text to Model", + "api_tripo_image_to_model": "Tripo: Image to Model", + "api_tripo_multiview_to_model": "Tripo: Multiview to Model" + }, + "LLM API": { + "api_openai_chat": "OpenAI: Chat", + "api_google_gemini": "Google Gemini: Chat" + }, + "Upscaling": { + "hiresfix_latent_workflow": "Upscale", + "esrgan_example": "ESRGAN", + "hiresfix_esrgan_workflow": "HiresFix ESRGAN Workflow", + "latent_upscale_different_prompt_model": "Latent Upscale Different Prompt Model" + }, + "ControlNet": { + "controlnet_example": "Scribble ControlNet", + "2_pass_pose_worship": "Pose ControlNet 2 Pass", + "depth_controlnet": "Depth ControlNet", + "depth_t2i_adapter": "Depth T2I Adapter", + "mixing_controlnets": "Mixing ControlNets" + }, + "Area Composition": { + "area_composition": "Area Composition", + "area_composition_square_area_for_subject": "Area Composition Square Area for Subject" + }, + "3D": { + "3d_hunyuan3d_image_to_model": "Hunyuan3D 2.0", + "3d_hunyuan3d_multiview_to_model": "Hunyuan3D 2.0 MV", + "3d_hunyuan3d_multiview_to_model_turbo": "Hunyuan3D 2.0 MV Turbo", + "stable_zero123_example": "Stable Zero123" + }, + "Audio": { + "audio_stable_audio_example": "Stable Audio", + "audio_ace_step_1_t2a_instrumentals": "ACE-Step v1 Text to Instrumentals Music", + "audio_ace_step_1_t2a_song": "ACE Step v1 Text to Song", + "audio_ace_step_1_m2m_editing": "ACE Step v1 M2M Editing" + } } }, "graphCanvasMenu": { @@ -343,7 +901,8 @@ "fitView": "Fit View", "selectMode": "Select Mode", "panMode": "Pan Mode", - "toggleLinkVisibility": "Toggle Link Visibility" + "toggleLinkVisibility": "Toggle Link Visibility", + "toggleMinimap": "Toggle Minimap" }, "groupNode": { "create": "Create group node", @@ -366,6 +925,31 @@ "cancel": "Cancel Download", "cancelled": "Cancelled" }, + "maskEditor": { + "Invert": "Invert", + "Clear": "Clear", + "Brush Settings": "Brush Settings", + "Brush Shape": "Brush Shape", + "Thickness": "Thickness", + "Opacity": "Opacity", + "Hardness": "Hardness", + "Smoothing Precision": "Smoothing Precision", + "Reset to Default": "Reset to Default", + "Paint Bucket Settings": "Paint Bucket Settings", + "Tolerance": "Tolerance", + "Fill Opacity": "Fill Opacity", + "Color Select Settings": "Color Select Settings", + "Selection Opacity": "Selection Opacity", + "Live Preview": "Live Preview", + "Apply to Whole Image": "Apply to Whole Image", + "Method": "Method", + "Stop at mask": "Stop at mask", + "Mask Tolerance": "Mask Tolerance", + "Layers": "Layers", + "Mask Layer": "Mask Layer", + "Mask Opacity": "Mask Opacity", + "Image Layer": "Image Layer" + }, "menuLabels": { "File": "File", "Edit": "Edit", @@ -457,13 +1041,12 @@ "Show Keybindings Dialog": "Show Keybindings Dialog", "Toggle Terminal Bottom Panel": "Toggle Terminal Bottom Panel", "Toggle Logs Bottom Panel": "Toggle Logs Bottom Panel", - "Toggle shortcuts_essentials Bottom Panel": "Toggle shortcuts.essentials Bottom Panel", - "Toggle shortcuts_viewControls Bottom Panel": "Toggle shortcuts.viewControls Bottom Panel", + "Toggle Essential Bottom Panel": "Toggle Essential Bottom Panel", + "Toggle View Controls Bottom Panel": "Toggle View Controls Bottom Panel", "Focus Mode": "Focus Mode", "Model Library": "Model Library", "Node Library": "Node Library", - "Output Explorer": "Output Explorer", - "Queue": "Queue", + "Queue Panel": "Queue Panel", "Workflows": "Workflows" }, "desktopMenu": { @@ -496,7 +1079,6 @@ "BrushAdjustment": "Brush Adjustment", "NewEditor": "New Editor", "ModelLibrary": "Model Library", - "NodeInputConversionSubmenus": "Node Input Conversion Submenus", "NodeLibrary": "Node Library", "Node Search Box": "Node Search Box", "Pointer": "Pointer", @@ -514,15 +1096,18 @@ "EditTokenWeight": "Edit Token Weight", "CustomColorPalettes": "Custom Color Palettes", "UV": "UV", - "3D": "3D", - "3DViewer": "3DViewer", - "Scene": "Scene", + "ContextMenu": "Context Menu", + "Reroute": "Reroute", + "Load 3D": "Load 3D", "Camera": "Camera", + "Scene": "Scene", + "3D": "3D", "Light": "Light", + "User": "User", + "Credits": "Credits", "API Nodes": "API Nodes", "Notification Preferences": "Notification Preferences", - "ContextMenu": "Context Menu", - "Reroute": "Reroute" + "3DViewer": "3DViewer" }, "serverConfigItems": { "listen": { @@ -663,6 +1248,7 @@ "image": "image", "preprocessors": "preprocessors", "advanced": "advanced", + "guidance": "guidance", "loaders": "loaders", "model_merging": "model_merging", "attention_experiments": "attention_experiments", @@ -675,44 +1261,64 @@ "inpaint": "inpaint", "scheduling": "scheduling", "create": "create", + "video": "video", "mask": "mask", - "DevTools": "DevTools", "deprecated": "deprecated", "latent": "latent", - "video": "video", "audio": "audio", + "3d": "3d", "ltxv": "ltxv", "sd3": "sd3", "sigmas": "sigmas", + "api node": "api node", + "BFL": "BFL", "model_patches": "model_patches", "unet": "unet", "gligen": "gligen", + "video_models": "video_models", + "Ideogram": "Ideogram", + "v1": "v1", + "v2": "v2", + "v3": "v3", "postprocessing": "postprocessing", "transform": "transform", "batch": "batch", - "video_models": "video_models", "upscaling": "upscaling", "instructpix2pix": "instructpix2pix", "compositing": "compositing", + "Kling": "Kling", "samplers": "samplers", "operations": "operations", - "3d": "3d", - "model_specific": "model_specific", + "lotus": "lotus", + "Luma": "Luma", + "MiniMax": "MiniMax", + "debug": "debug", "model": "model", + "model_specific": "model_specific", + "OpenAI": "OpenAI", "cond pair": "cond pair", "photomaker": "photomaker", + "Pika": "Pika", + "PixVerse": "PixVerse", + "utils": "utils", + "primitive": "primitive", + "Recraft": "Recraft", "animation": "animation", "api": "api", "upscale_diffusion": "upscale_diffusion", "clip": "clip", - "guidance": "guidance", + "Stability AI": "Stability AI", "stable_cascade": "stable_cascade", "3d_models": "3d_models", - "style_model": "style_model" + "style_model": "style_model", + "sd": "sd", + "Veo": "Veo" }, "dataTypes": { + "*": "*", "AUDIO": "AUDIO", "BOOLEAN": "BOOLEAN", + "CAMERA_CONTROL": "CAMERA_CONTROL", "CLIP": "CLIP", "CLIP_VISION": "CLIP_VISION", "CLIP_VISION_OUTPUT": "CLIP_VISION_OUTPUT", @@ -731,19 +1337,193 @@ "LATENT_OPERATION": "LATENT_OPERATION", "LOAD_3D": "LOAD_3D", "LOAD_3D_ANIMATION": "LOAD_3D_ANIMATION", + "LOAD3D_CAMERA": "LOAD3D_CAMERA", + "LUMA_CONCEPTS": "LUMA_CONCEPTS", + "LUMA_REF": "LUMA_REF", "MASK": "MASK", + "MESH": "MESH", "MODEL": "MODEL", "NOISE": "NOISE", "PHOTOMAKER": "PHOTOMAKER", + "PIXVERSE_TEMPLATE": "PIXVERSE_TEMPLATE", + "RECRAFT_COLOR": "RECRAFT_COLOR", + "RECRAFT_CONTROLS": "RECRAFT_CONTROLS", + "RECRAFT_V3_STYLE": "RECRAFT_V3_STYLE", "SAMPLER": "SAMPLER", "SIGMAS": "SIGMAS", "STRING": "STRING", "STYLE_MODEL": "STYLE_MODEL", + "SVG": "SVG", "TIMESTEPS_RANGE": "TIMESTEPS_RANGE", "UPSCALE_MODEL": "UPSCALE_MODEL", "VAE": "VAE", + "VIDEO": "VIDEO", + "VOXEL": "VOXEL", "WEBCAM": "WEBCAM" }, + "maintenance": { + "title": "Maintenance", + "allOk": "No issues were detected.", + "status": "Status", + "detected": "Detected", + "refreshing": "Refreshing", + "None": "None", + "OK": "OK", + "Skipped": "Skipped", + "showManual": "Show maintenance tasks", + "confirmTitle": "Are you sure?", + "terminalDefaultMessage": "When you run a troubleshooting command, any output will be shown here.", + "consoleLogs": "Console Logs", + "error": { + "toastTitle": "Task error", + "taskFailed": "Task failed to run.", + "cannotContinue": "Unable to continue - errors remain", + "defaultDescription": "An error occurred while running a maintenance task." + } + }, + "missingModelsDialog": { + "doNotAskAgain": "Don't show this again", + "missingModels": "Missing Models", + "missingModelsMessage": "When loading the graph, the following models were not found" + }, + "loadWorkflowWarning": { + "outdatedVersion": "Some nodes require a newer version of ComfyUI (current: {version}). Please update to use all nodes.", + "outdatedVersionGeneric": "Some nodes require a newer version of ComfyUI. Please update to use all nodes.", + "coreNodesFromVersion": "Requires ComfyUI {version}:" + }, + "versionMismatchWarning": { + "title": "Version Compatibility Warning", + "frontendOutdated": "Frontend version {frontendVersion} is outdated. Backend requires version {requiredVersion} or higher.", + "frontendNewer": "Frontend version {frontendVersion} may not be compatible with backend version {backendVersion}.", + "updateFrontend": "Update Frontend", + "dismiss": "Dismiss" + }, + "errorDialog": { + "defaultTitle": "An error occurred", + "loadWorkflowTitle": "Loading aborted due to error reloading workflow data", + "noStackTrace": "No stacktrace available", + "extensionFileHint": "This may be due to the following script", + "promptExecutionError": "Prompt execution failed" + }, + "apiNodesSignInDialog": { + "title": "Sign In Required to Use API Nodes", + "message": "This workflow contains API Nodes, which require you to be signed in to your account in order to run." + }, + "apiNodesCostBreakdown": { + "title": "API Node(s)", + "costPerRun": "Cost per run", + "totalCost": "Total Cost" + }, + "desktopUpdate": { + "title": "Updating ComfyUI Desktop", + "description": "ComfyUI Desktop is installing new dependencies. This may take a few minutes.", + "terminalDefaultMessage": "Any console output from the update will be shown here.", + "updateFoundTitle": "Update Found (v{version})", + "updateAvailableMessage": "An update is available. Do you want to restart and update now?", + "noUpdateFound": "No update found", + "errorCheckingUpdate": "Error checking for updates", + "errorInstallingUpdate": "Error installing update" + }, + "clipboard": { + "successMessage": "Copied to clipboard", + "errorMessage": "Failed to copy to clipboard", + "errorNotSupported": "Clipboard API not supported in your browser" + }, + "load3d": { + "switchCamera": "Switch Camera", + "showGrid": "Show Grid", + "backgroundColor": "Background Color", + "lightIntensity": "Light Intensity", + "fov": "FOV", + "previewOutput": "Preview Output", + "uploadBackgroundImage": "Upload Background Image", + "removeBackgroundImage": "Remove Background Image", + "loadingModel": "Loading 3D Model...", + "upDirection": "Up Direction", + "materialMode": "Material Mode", + "scene": "Scene", + "model": "Model", + "camera": "Camera", + "light": "Light", + "switchingMaterialMode": "Switching Material Mode...", + "edgeThreshold": "Edge Threshold", + "export": "Export", + "exportModel": "Export Model", + "exportingModel": "Exporting model...", + "uploadTexture": "Upload Texture", + "applyingTexture": "Applying Texture...", + "materialModes": { + "normal": "Normal", + "wireframe": "Wireframe", + "original": "Original", + "depth": "Depth", + "lineart": "Lineart" + }, + "upDirections": { + "original": "Original" + }, + "startRecording": "Start Recording", + "stopRecording": "Stop Recording", + "exportRecording": "Export Recording", + "clearRecording": "Clear Recording", + "resizeNodeMatchOutput": "Resize Node to match output", + "loadingBackgroundImage": "Loading Background Image", + "cameraType": { + "perspective": "Perspective", + "orthographic": "Orthographic" + }, + "viewer": { + "title": "3D Viewer (Beta)", + "apply": "Apply", + "cancel": "Cancel", + "cameraType": "Camera Type", + "sceneSettings": "Scene Settings", + "cameraSettings": "Camera Settings", + "lightSettings": "Light Settings", + "exportSettings": "Export Settings", + "modelSettings": "Model Settings" + }, + "openIn3DViewer": "Open in 3D Viewer" + }, + "toastMessages": { + "nothingToQueue": "Nothing to queue", + "pleaseSelectOutputNodes": "Please select output nodes", + "no3dScene": "No 3D scene to apply texture", + "failedToApplyTexture": "Failed to apply texture", + "no3dSceneToExport": "No 3D scene to export", + "failedToExportModel": "Failed to export model as {format}", + "fileLoadError": "Unable to find workflow in {fileName}", + "dropFileError": "Unable to process dropped item: {error}", + "interrupted": "Execution has been interrupted", + "pendingTasksDeleted": "Pending tasks deleted", + "nothingToGroup": "Nothing to group", + "pleaseSelectNodesToGroup": "Please select the nodes (or other groups) to create a group for", + "emptyCanvas": "Empty canvas", + "fileUploadFailed": "File upload failed", + "unableToGetModelFilePath": "Unable to get model file path", + "couldNotDetermineFileType": "Could not determine file type", + "errorLoadingModel": "Error loading model", + "failedToDownloadFile": "Failed to download file", + "updateRequested": "Update requested", + "nodeDefinitionsUpdated": "Node definitions updated", + "errorSaveSetting": "Error saving setting {id}: {err}", + "errorCopyImage": "Error copying image: {error}", + "noTemplatesToExport": "No templates to export", + "failedToFetchLogs": "Failed to fetch server logs", + "migrateToLitegraphReroute": "Reroute nodes will be removed in future versions. Click to migrate to litegraph-native reroute.", + "userNotAuthenticated": "User not authenticated", + "failedToFetchBalance": "Failed to fetch balance: {error}", + "failedToCreateCustomer": "Failed to create customer: {error}", + "failedToInitiateCreditPurchase": "Failed to initiate credit purchase: {error}", + "failedToAccessBillingPortal": "Failed to access billing portal: {error}", + "failedToPurchaseCredits": "Failed to purchase credits: {error}", + "unauthorizedDomain": "Your domain {domain} is not authorized to use this service. Please contact {email} to add your domain to the whitelist.", + "useApiKeyTip": "Tip: Can't access normal login? Use the Comfy API Key option.", + "nothingSelected": "Nothing selected", + "cannotCreateSubgraph": "Cannot create subgraph", + "failedToConvertToSubgraph": "Failed to convert items to subgraph", + "failedToInitializeLoad3dViewer": "Failed to initialize 3D Viewer" + }, "auth": { "apiKey": { "title": "API Key", @@ -817,5 +1597,110 @@ "success": "Password Updated", "successDetail": "Your password has been updated successfully" } + }, + "validation": { + "invalidEmail": "Invalid email address", + "required": "Required", + "minLength": "Must be at least {length} characters", + "maxLength": "Must be no more than {length} characters", + "prefix": "Must start with {prefix}", + "length": "Must be {length} characters", + "password": { + "requirements": "Password requirements", + "minLength": "Must be between 8 and 32 characters", + "uppercase": "Must contain at least one uppercase letter", + "lowercase": "Must contain at least one lowercase letter", + "number": "Must contain at least one number", + "special": "Must contain at least one special character", + "match": "Passwords must match" + }, + "personalDataConsentRequired": "You must agree to the processing of your personal data." + }, + "credits": { + "activity": "Activity", + "credits": "Credits", + "yourCreditBalance": "Your credit balance", + "purchaseCredits": "Purchase Credits", + "invoiceHistory": "Invoice History", + "apiPricing": "API Pricing", + "faqs": "FAQs", + "messageSupport": "Message Support", + "lastUpdated": "Last updated", + "topUp": { + "insufficientTitle": "Insufficient Credits", + "insufficientMessage": "You don't have enough credits to run this workflow.", + "quickPurchase": "Quick Purchase", + "maxAmount": "(Max. $1,000 USD)", + "buyNow": "Buy now", + "seeDetails": "See details", + "topUp": "Top Up" + }, + "eventType": "Event Type", + "details": "Details", + "time": "Time", + "additionalInfo": "Additional Info", + "model": "Model", + "added": "Added", + "accountInitialized": "Account initialized" + }, + "userSettings": { + "title": "User Settings", + "name": "Name", + "email": "Email", + "provider": "Sign-in Provider", + "notSet": "Not set", + "updatePassword": "Update Password" + }, + "selectionToolbox": { + "executeButton": { + "tooltip": "Execute to selected output nodes (Highlighted with orange border)", + "disabledTooltip": "No output nodes selected" + } + }, + "chatHistory": { + "cancelEdit": "Cancel", + "editTooltip": "Edit message", + "cancelEditTooltip": "Cancel edit", + "copiedTooltip": "Copied", + "copyTooltip": "Copy message to clipboard" + }, + "nodeHelpPage": { + "inputs": "Inputs", + "outputs": "Outputs", + "type": "Type", + "moreHelp": "For more help, visit the", + "documentationPage": "documentation page", + "loadError": "Failed to load help: {error}" + }, + "whatsNewPopup": { + "learnMore": "Learn more", + "noReleaseNotes": "No release notes available." + }, + "breadcrumbsMenu": { + "duplicate": "Duplicate", + "clearWorkflow": "Clear Workflow", + "deleteWorkflow": "Delete Workflow", + "enterNewName": "Enter new name" + }, + "shortcuts": { + "essentials": "Essential", + "viewControls": "View Controls", + "manageShortcuts": "Manage Shortcuts", + "noKeybinding": "No keybinding", + "keyboardShortcuts": "Keyboard Shortcuts", + "subcategories": { + "workflow": "Workflow", + "node": "Node", + "queue": "Queue", + "view": "View", + "panelControls": "Panel Controls" + } + }, + "minimap": { + "nodeColors": "Node Colors", + "showLinks": "Show Links", + "showGroups": "Show Frames/Groups", + "renderBypassState": "Render Bypass State", + "renderErrorState": "Render Error State" } } \ No newline at end of file