{
  "constructionCost": {
    "priceSource": {
      "label": "Price source",
      "system": "Current (system)",
      "user": "My prices"
    },
    "quick": {
      "title": "Quick Estimate",
      "advanced": "Advanced settings"
    },
    "result": {
      "title": "Estimated Cost",
      "showDetails": "Show detailed bill & unit prices",
      "hideDetails": "Hide details"
    },
    "prices": {
      "user": "Your personal price list",
      "userCount": "My prices · {{count}} custom",
      "userHint": "Your saved prices apply exactly as entered — quality class and regional index do not rescale them. Items you haven’t priced fall back to system prices.",
      "loading": "Fetching current prices…",
      "live": "Current market prices",
      "fallback": "Baseline prices"
    },
    "params": {
      "country": "Country / market",
      "currencyChip": "Prices in this market’s local currency",
      "title": "Project Parameters",
      "name": "Project name",
      "namePlaceholder": "e.g. Seaside Villa",
      "buildingType": "Building type",
      "grossArea": "Gross area (m²)",
      "grossAreaHint": "Total construction area of all floors",
      "floors": "Floors",
      "basements": "Basements",
      "quality": "Quality class",
      "currency": "Currency",
      "floorHeight": "Floor height",
      "regionFactor": "Regional price index",
      "regionFactorHint": "Adjusts default prices for your region (your own prices are never changed)"
    },
    "buildingTypes": {
      "residential": "Residential / Apartment",
      "villa": "Villa / Detached house",
      "office": "Office",
      "commercial": "Commercial / Retail",
      "industrial": "Industrial / Warehouse",
      "hotel": "Hotel"
    },
    "quality": {
      "economy": "Economy",
      "standard": "Standard",
      "premium": "Premium",
      "luxury": "Luxury"
    },
    "geometry": {
      "footprint": "Footprint",
      "facade": "Facade",
      "roof": "Roof",
      "excavation": "Excavation"
    },
    "summary": {
      "grandTotal": "Estimated total",
      "perM2": "Cost per m²",
      "direct": "Direct costs",
      "indirect": "Indirect costs"
    },
    "chart": {
      "title": "Cost Distribution"
    },
    "wbs": {
      "copyFromSystem": "Fill from system prices",
      "title": "Detailed Bill of Quantities",
      "subtitle": "Quantities are derived from your project geometry — edit any quantity or unit price; edited cells are marked and your prices are saved for future projects.",
      "category": "Category",
      "item": "Work item",
      "unit": "Unit",
      "quantity": "Quantity",
      "unitPrice": "Unit price",
      "lineTotal": "Total",
      "resetLine": "Reset to suggested",
      "resetAll": "Reset all overrides",
      "overridden": "Edited by you"
    },
    "categories": {
      "earthworks": "Earthworks & Ground",
      "structure": "Structural Frame",
      "envelope": "Facade & Envelope",
      "interior": "Interior Finishes",
      "mep": "Mechanical & Electrical",
      "site": "Site Works",
      "indirect": "Indirect Costs"
    },
    "items": {
      "excavation": "Bulk excavation",
      "blinding": "Blinding concrete",
      "foundationWaterproofing": "Foundation waterproofing",
      "foundationConcrete": "Foundation concrete",
      "structuralConcrete": "Structural concrete",
      "rebar": "Reinforcement steel",
      "formwork": "Formwork",
      "masonry": "Masonry walls",
      "roofing": "Roof structure & covering",
      "facadeCladding": "Facade cladding",
      "thermalInsulation": "Thermal insulation",
      "windows": "Windows & glazing",
      "exteriorDoors": "Exterior doors",
      "plaster": "Plastering",
      "screed": "Floor screed",
      "tiling": "Ceramic tiling",
      "flooring": "Floor covering",
      "painting": "Painting",
      "suspendedCeiling": "Suspended ceiling",
      "interiorDoors": "Interior doors",
      "kitchen": "Kitchen units",
      "bathroomSet": "Bathroom sets",
      "electrical": "Electrical installation",
      "plumbing": "Plumbing installation",
      "hvac": "Heating / cooling (HVAC)",
      "elevator": "Elevator",
      "fireSystems": "Fire protection systems",
      "landscaping": "Landscaping",
      "utilityConnections": "Utility connections"
    },
    "units": {
      "m3": "m³",
      "m2": "m²",
      "ton": "ton",
      "pcs": "pcs",
      "lm": "lm",
      "set": "set",
      "ls": "l.s."
    },
    "indirectTitle": "Indirect Costs & Fees",
    "indirectSubtitle": "Applied as a percentage of the direct construction total.",
    "indirect": {
      "designFees": "Design & engineering fees",
      "permits": "Permits & municipal fees",
      "siteOverhead": "Site overheads & management",
      "contingency": "Contingency reserve"
    },
    "projects": {
      "title": "Projects & Export",
      "untitled": "Untitled project",
      "empty": "No saved projects yet",
      "select": "Load a saved project…",
      "load": "Load project",
      "delete": "Delete",
      "new": "New project"
    },
    "actions": {
      "save": "Save project",
      "exportCsv": "Export CSV",
      "printReport": "Print report"
    },
    "messages": {
      "copyTitle": "Fill from system prices?",
      "copyContent": "All items in your personal price list will be overwritten with the current system prices (including quality and region factors). Continue?",
      "copyAction": "Yes, fill",
      "savedTitle": "Project saved",
      "savedContent": "“{{name}}” was saved on this device. You can reload it anytime from the project list.",
      "popupBlockedTitle": "Pop-up blocked",
      "popupBlockedContent": "Please allow pop-ups for this site to open the print report."
    },
    "report": {
      "subtitle": "Preliminary construction cost estimate"
    },
    "disclaimer": "This tool produces a preliminary estimate based on parametric quantities and the unit prices you provide. It is not a substitute for a detailed bill of quantities, tender pricing, or professional cost consultancy. Prices and data are stored locally on your device."
  },
  "common": {
    "quotaReachedTitle": "Module quota reached",
    "quotaReachedBody": "This module quota for your plan is exhausted. Please upgrade or wait for reset.",
    "imageRequiredTitle": "Image Required",
    "imageRequiredBody": "Please upload a single image first.",
    "uploadingImage": "Uploading image...",
    "moduleQuota": "Module quota",
    "perMonth": "Per month",
    "perBillingCycle": "Per billing cycle",
    "unlimited": "Unlimited",
    "operationsLeft": "{{remaining}} / {{limit}} operations left",
    "quotaExhausted": "Quota is exhausted. Upgrade to keep using this module.",
    "viewPlans": "View plans",
    "selectMode": "Select Mode",
    "uploadImage": "Upload Image",
    "membershipRequired": "Membership required",
    "insufficientCredits": "Insufficient Credits",
    "costLabel": "Cost:",
    "creditsLabel": "credits",
    "balanceLabel": "Balance:",
    "balanceAfter": "Balance after:",
    "creditsCount": "{{count}} credits",
    "moduleQuotaReachedShort": "Module quota reached",
    "membershipRequiredHint": "Membership required. Please buy a plan to continue.",
    "moduleLimitReachedHint": "This module quota is used up for your plan. Please upgrade to continue.",
    "insufficientCreditsHint": "You need {{required}} credits but only have {{available}}. Please purchase more credits to continue.",
    "renderButton": "Render",
    "buyCredits": "Buy credits"
  },
  "pomegranate": {
    "step1": "1. Upload Source Image",
    "step2Heading": "2. Creativity / Steps",
    "step2Hint": "Higher values let your prompt influence the image more.",
    "step3Heading": "3. Megapixel",
    "step3Hint": "1-4 MP: normal credit cost. 5-6 MP: 2x credit cost.",
    "step4Heading": "4. Prompt Source",
    "promptSource": {
      "presetTitle": "Preset",
      "presetSub": "Admin-defined prompt templates",
      "customTitle": "Custom",
      "customSub": "Write your own prompt manually",
      "referenceTitle": "Reference",
      "referenceSub": "Extract lighting/atmosphere from a sample image"
    },
    "noPresetsFound": "No preset found. Add presets in admin.",
    "customPlaceholder": "Describe what should be enhanced while preserving geometry and perspective.",
    "referenceHint": "Optional: Upload one reference image. The system will convert its lighting/atmosphere style into a prompt.",
    "analyzing": "Analyzing...",
    "generatePrompt": "Generate Prompt",
    "editPromptHint": "You can still edit the generated prompt before start.",
    "referencePlaceholder": "Reference-based prompt will appear here (or write manually).",
    "megapixelTable": "Megapixel Size Table",
    "basedOnSourceRatio": "Based on source ratio: {{width}} x {{height}}",
    "noSourceRatio": "No source ratio yet, using default 16:9 estimate",
    "tableMpHeader": "MP",
    "tableResolutionHeader": "Estimated Resolution",
    "tableCreditHeader": "Credit Rule",
    "creditMultiplier2x": "2x credits",
    "creditMultiplierNormal": "Normal credits",
    "currentSelection": "Current selection: {{mp}} MP ≈ {{width}} x {{height}} ({{rule}})."
  },
  "editEngine": {
    "workspaceLabel": "Orange Studio",
    "canvasTitle": "Annotation Canvas",
    "uploadHint": "Upload an architectural image to start editing.",
    "canvasHint": "Drag on the image to draw a colored frame around the area you want to change.",
    "clearCanvas": "Clear Canvas",
    "download": "Download",
    "annotateHint": "Drag to draw a frame around an area",
    "deleteFrame": "Remove",
    "controlLabel": "Edit Instructions",
    "framesTitle": "Frames & Notes",
    "framesHint": "Each frame gets its own note — up to {{max}} frames. Attach a material or object image to a frame to apply it right there.",
    "noFramesYet": "No frames yet. Draw a frame on the image above, or just write a general instruction below.",
    "notePlaceholder": "What should change inside this frame? e.g. \"replace this wall with exposed concrete\"",
    "addReference": "Attach material / reference image",
    "materialTag": "Ref",
    "removeReference": "Remove reference",
    "globalPromptLabel": "General instruction (optional)",
    "globalPromptPlaceholder": "Applies to the whole image, e.g. \"make the lighting warmer\"",
    "globalRefsLabel": "Extra references:",
    "globalRefsHint": "Style / material images not tied to a frame",
    "strictLabel": "Lock outside the frames",
    "strictHint": "Pixels outside your frames are restored from the original — the edit cannot leak outside.",
    "sequentialLabel": "Process frames one by one",
    "sequentialHint": "Each frame is edited in its own pass on the previous result — changes can never mix between frames. Billed per pass.",
    "stepProgress": "Step {{current}}/{{total}} — editing...",
    "costChipSteps": "{{count}} credits ({{steps}} passes)",
    "addImage": "Add image",
    "promptPreviewShow": "Show the prompt that will be sent",
    "promptPreviewHide": "Hide prompt preview",
    "costChip": "{{count}} credits",
    "balanceAfter": "Balance after:",
    "runButton": "Apply Edit",
    "runningButton": "Editing...",
    "processing": "The AI is editing your image...",
    "uploadingInputs": "Uploading images...",
    "historyTitle": "Version History",
    "historyHint": "Move back and forward between versions; new edits continue from the version you are viewing.",
    "originalLabel": "Original",
    "versionLabel": "Version {{number}}",
    "backLabel": "Previous version",
    "forwardLabel": "Next version",
    "downloadAll": "Download all (ZIP)",
    "preparingZip": "Preparing ZIP...",
    "inputRequiredTitle": "Nothing to edit",
    "inputRequiredBody": "Add a note to at least one frame or write a general instruction.",
    "uploadFailedTitle": "Upload failed",
    "uploadFailedBody": "The image could not be uploaded. Please try again.",
    "downloadFailedTitle": "Download failed",
    "downloadFailedBody": "The file could not be downloaded.",
    "jobFailedTitle": "Edit failed",
    "jobFailedBody": "The edit could not be completed. You were not charged.",
    "resultUnavailable": "The edit finished but the result could not be loaded.",
    "maxRefsTitle": "Reference limit",
    "maxRefsBody": "You can attach at most {{max}} reference images per edit.",
    "colors": {
      "red": "Red",
      "green": "Green",
      "yellow": "Yellow",
      "blue": "Blue",
      "purple": "Purple",
      "orange": "Orange",
      "cyan": "Cyan",
      "pink": "Pink"
    }
  },
  "moduleContent": {
    "labels": {
      "mode": "Mode",
      "renderModel": "Render Model",
      "quality": "Quality",
      "variations": "Variations",
      "resolution": "Resolution",
      "stylePreset": "Style Preset",
      "stylePresets": "Style Presets",
      "customStyle": "Custom Style",
      "styleFocus": "Style Focus",
      "selectMode": "Select Mode",
      "spaceTarget": "Space Target",
      "outputAspectRatio": "Output Aspect Ratio",
      "focusPoint": "Focus Point",
      "cameraHeading": "Camera Heading",
      "markerSize": "Marker Size",
      "perspective": "Perspective",
      "notes": "Notes",
      "optionalNotes": "Optional Notes",
      "pipelineResolution": "Pipeline Resolution",
      "startFrame": "Start Frame",
      "endFrame": "End Frame",
      "editSource": "Edit Source",
      "inputMode": "Input Mode",
      "generationMode": "Generation Mode",
      "aspectRatio": "Aspect Ratio",
      "numberOfImages": "Number of Images",
      "numberOfVariations": "Number of Variations",
      "referenceImageRequired": "Reference Image (Required)",
      "cameraAxes": "Camera Axes",
      "cameraControlStrength": "Camera control strength",
      "cameraStrength": "Camera strength",
      "selectFocusAreas": "Select Focus Areas",
      "processingMode": "Processing Mode",
      "nextCropRatio": "Next Crop Ratio",
      "addCristalSharpness": "Add Cristal Sharpness",
      "referenceStyle": "Reference Style",
      "active": "Active",
      "azimuth": "Azimuth",
      "elevation": "Elevation",
      "zoom": "Zoom"
    },
    "hints": {
      "optionalReference": "Optional reference",
      "uploadStyleSample": "Upload a small style sample to override preset mood.",
      "editSourceLoaded": "Reference frame loaded for the 2K canvas.",
      "upTo4Images": "Up to 4 images per run.",
      "customStyleSub": "Optional mini style sample.",
      "cameraAxesEnHint": "Controls how strongly the model follows the camera axes. Lower = subtle, higher = stricter.",
      "usingCustomStyle": "Using custom style reference"
    },
    "placeholders": {
      "wetAreasNotes": "Wet areas keep tile, corridors terrazzo, dark charcoal walls, minimal rugs...",
      "balconiesEntrance": "Optional: balconies, entrance canopy...",
      "warmLobby": "Example: Keep the mood, warm the lobby lights, replace the tree with a purple jacaranda...",
      "minimalLuxury": "E.g.: Minimal luxury lobby with warm lighting and sculpted stone surfaces.",
      "sceneAtmosphere": "Example: Warm, cinematic architectural interior with sunlight streaks, marble floors, and soft shadows.",
      "warmerAddDaylight": "E.g.: Make it warmer, add soft daylight, keep materials premium.",
      "balconyDetails": "E.g.: balconies, terrace corners, entrance canopy, facade details, living room window.",
      "extraInstructions": "Add any extra instructions (lighting tweaks, materials, etc.)",
      "wetAreasNotesAlt": "E.g. wet areas keep stone/tile, corridors terrazzo, dark charcoal walls, minimal rugs..."
    },
    "guide": {
      "workspaceGuide": "Workspace Guide",
      "bananaWorkspace": "Banana workspace"
    },
    "apricot": {
      "uploadOneAndPress": "Upload one image and press <0>Create Film</0>. We turn that single still into a {{seconds}}-second cinematic architectural animation.",
      "createFilm": "Create Film",
      "ambientAudio": "Ambient audio",
      "geminiWritesShots": "Gemini writes the shot flow, {{engine}} renders the final film, ambient audio stays on.",
      "filmDurationSuffix": "{{seconds}}s film",
      "creditsBadge": "{{count}} credits",
      "resolutionHint": "720p is cheaper, 1080p is sharper.",
      "filmEngine": "Film Engine",
      "active": "Active",
      "singleImage": "Single Image",
      "upToRefs": "Up to {{count}} refs",
      "upToImages": "Up to {{count}} images",
      "sceneCount": "{{count}} scenes",
      "filmSceneHint": "{{count}} scenes → ~{{seconds}}s film",
      "filmMultiHint": "Add up to {{max}} images — each becomes a scene in one film",
      "nativeAudio": "Native audio",
      "geminiShotPlan": "Gemini shot plan",
      "directorMode": "Director Mode",
      "screenwriter": "Screenwriter",
      "screenwriterDescription": "Gemini reads the uploaded architecture, expands it into a detailed multi-shot treatment, and prepares a finished {{engine}} film automatically.",
      "filmSpec": "Film Spec",
      "input": "Input",
      "architectureRefSet": "Architecture-only reference set",
      "output": "Output",
      "filmDuration": "{{seconds}}-second film",
      "providerNativeQuality": "Provider native quality",
      "audio": "Audio",
      "ambientOnly": "Ambient only",
      "asmrTone": "ASMR tone, no voice-over",
      "shotPlan": "Shot Plan",
      "geminiMultiPrompt": "Gemini multi_prompt",
      "geminiTreatment": "Gemini treatment",
      "klingShotsBeats": "Structured cinematic beats for Kling shots",
      "archStoryArc": "Architectural story arc from the reference set",
      "resolutionDetailHint": "720p is cheaper. 1080p keeps the highest output detail.",
      "workflow": "Workflow",
      "workflowKling": "The uploaded image becomes the start frame, then Gemini expands it into multiple architectural shots before Kling renders the full film.",
      "workflowMultiRef_one": "{{count}} reference image will guide one Apricot film.",
      "workflowMultiRef_other": "{{count}} reference images will guide one Apricot film.",
      "workflowSingleArchHint": "Upload one architectural start image. Apricot will turn that single still into a directed multi-shot film.",
      "workflowUploadGuidance": "Upload reference images to guide the film treatment.",
      "workflowSeedanceFast": "GPT Image 2 sketches a cinematic storyboard from your image, then Seedance 2.0 Fast renders a 15-second architectural film with native audio. The original photo and the storyboard are both fed as references; on a content-policy block we retry with a safer prompt.",
      "workflowH3Max": "Your image becomes the first frame. Gemini writes a multi-shot treatment locked to that exact space (interior stays interior, exterior stays exterior), then MiniMax H3 Max renders a 15-second film with native ambient audio in a fraction of the usual time.",
      "aspectRatio": "Aspect Ratio",
      "aspectAuto": "Auto",
      "aspectLandscape": "16:9",
      "aspectPortrait": "9:16",
      "aspectSquare": "1:1",
      "aspectRatioHint": "Auto picks 16:9 for landscape uploads and 9:16 for portraits. Override if you want a specific frame.",
      "gptStoryboard": "GPT Image 2 storyboard",
      "storyboardThenSeedance": "Storyboard sheet then Seedance 2.0 Fast"
    },
    "banana": {
      "auto": "Auto",
      "lockedToOne": "Locked to 1",
      "advanced": "Advanced",
      "creative": "Creative",
      "advancedFast": "Advanced (Fast)",
      "advancedFastSubtitle": "Fast and consistent results",
      "creativeSubtitle": "More diverse results",
      "model": "Model",
      "nanoBananaProResolution": "Nano Banana Pro Resolution",
      "resolution1k": "1K",
      "resolution2k": "2K",
      "resolution4k": "4K",
      "fasterDeliverySame": "Faster delivery (same credits)",
      "higherDetailSame": "Higher detail (same credits)",
      "nanoBananaProHint": "1K and 2K cost the same. 4K is disabled for Nano Banana Pro.",
      "nanoBanana2Resolution": "Nano Banana 2 Resolution",
      "creditsImage9": "9 credits / image",
      "creditsImage15": "15 credits / image",
      "creditsImage25": "25 credits / image",
      "gptQuality": "GPT Quality",
      "gptAuto": "Auto",
      "gptLow": "Low",
      "gptMedium": "Medium",
      "gptHigh": "High",
      "gpt32Credits": "32 credits / image",
      "gpt3Credits": "3 credits / image",
      "gpt12Credits": "12 credits / image",
      "gptXhigh": "XHigh",
      "gptMax": "Max",
      "gpt25Quality": "GPT 2.5 Quality",
      "gptCreditsPerImage": "{{count}} credits / image",
      "gpt25Hint": "Sunburst and Flare share one price list: Low 3, Medium 10, High 26, XHigh 50, Max 100 credits. Auto bills at the XHigh rate.",
      "gpt25ModeHint": "GPT Image 2.5 Sunburst and Flare share one price list. High (26 credits) is the recommended default; Auto bills at the XHigh rate (50 credits).",
      "flux3Resolution": "Flux 3 Resolution",
      "flux3Hint": "Native resolution with no upscaling step. One price per image — extra reference images are free. 4K can take a few minutes.",
      "gptHint": "<0>Auto</0> and <0>High</0> share the same billing tier on Replicate.",
      "qualityMode": "Quality Mode",
      "standard": "Standard",
      "standardSubtitle": "Fast, base quality",
      "pro1k": "1K Pro",
      "pro2k": "2K Pro",
      "pro4k": "4K Pro",
      "highDetail3x": "High detail (3x credits)",
      "higherDetail3x": "Higher detail (3x credits)",
      "ultraDetail6x": "Ultra detail (6x credits)",
      "qualityHint4k": "4K Pro is limited to 1 variation and consumes 6x credits.",
      "qualityHintPro": "1K/2K Pro is limited to 1 variation and consumes 3x credits.",
      "proBadge": "New",
      "proNoticeTitle": "Pro pipeline (~5K)",
      "proNotice": "Renders a ~5K image through three sequential stages and may take 1–3 minutes per output. 70 credits are charged only when the final image is delivered.",
      "gptModeHint": "GPT uses OpenAI GPT Image 2. <0>Low</0> is the cheapest tier; <0>Auto</0> and <0>High</0> bill the same.",
      "soft2Resolution": "Soft 2 Resolution",
      "baseCredit1x": "Base credit cost (1x)",
      "credit2x": "2x credit cost",
      "credit4x": "4x credit cost",
      "soft2Hint": "1K uses module base credits from DB. 2K uses 2x, 4K uses 4x.",
      "promptLabel": "Prompt",
      "clear": "Clear",
      "describeScene": "Describe the scene, style, and details you want to see.",
      "imageCount_one": "{{count}} image",
      "imageCount_other": "{{count}} images",
      "upTo4PerRun": "Up to 4 images per run.",
      "totalOutputs": "Total outputs: {{models}} models × {{images}} images.",
      "quickNote": "Auto Prompt Builder",
      "generatingPrompt": "Generating Prompt...",
      "autoWritePrompt": "Auto-Write Prompt"
    },
    "coconut": {
      "multiRender": "Soft",
      "edit2k": "2K Edit",
      "modeHintPipeline": "Process up to 3 visuals in one consistent render flow.",
      "modeHintEdit": "Annotate one frame directly on the 2K edit canvas.",
      "pro2k": "2K Pro",
      "pro4k": "4K Pro",
      "fixed2k": "Fixed 2K",
      "creditsHint4k": "4K uses 6x credits.",
      "creditsHint2k": "2K Pro uses 3x credits.",
      "editAlways2k": "Edit canvas always exports a 2K workflow.",
      "free": "Free",
      "lock": "Lock",
      "lockHint": "Lock keeps the original camera and location feel more strictly.",
      "editDescription": "Draw notes directly on the frame, then send one precise 2K edit request.",
      "active": "Active",
      "proMode3x": "Pro mode (3x credits)",
      "ultraDetail6x": "Ultra detail (6x credits)",
      "perspectiveLock": "Location Perspective Lock: keeps the same camera/angle (including top-view or overhead site renders) while improving landscape realism.",
      "referenceLoaded": "Reference frame loaded for the 2K canvas.",
      "changeFrame": "Change Frame",
      "globalInstruction": "Global Instruction",
      "globalInstructionPlaceholder": "Example: Keep the mood, warm the lobby lights, replace the tree with a purple jacaranda...",
      "globalInstructionHint": "Combine short text notes with the canvas markups for precise 2K edits."
    },
    "kiwi": {
      "creative": "Creative",
      "advanced": "Advanced",
      "modeHintAdvanced": "Manually steer azimuth, elevation, and zoom below.",
      "modeHintCreative": "Let Kiwi explore stronger viewpoints automatically.",
      "cameraControl": "Camera Control",
      "renderModel": "Render Model",
      "manualCameraActive": "Manual camera mode is active. Drag the colored handles to set the exact viewing direction.",
      "matchAngleStyle": "Match the angle exploration with the render style you want.",
      "lockedToOne": "Locked to 1",
      "advancedSendsOneShot": "Advanced camera control sends one precise shot per run.",
      "creativeChooseAngles": "Choose how many angle proposals to explore in one run.",
      "focusArea": "Focus Area",
      "focusAreaPlaceholder": "Optional: balconies, entrance canopy...",
      "modeLabel": "Mode",
      "creativeSubtitle": "AI explores varied viewpoints",
      "advancedSubtitle": "Manual camera control with axes",
      "azimuth": "Azimuth",
      "elevation": "Elevation",
      "zoom": "Zoom",
      "cameraAxisHint": "Controls how strongly the model follows the camera axes. Lower = subtle, higher = stricter.",
      "conceptFocusOptional": "Concept Focus (Optional)",
      "conceptFocusPlaceholder": "E.g.: balconies, terrace corners, entrance canopy, facade details, living room window.",
      "conceptFocusHint": "If you write a target area or element, Kiwi builds camera prompts around that part of the uploaded image.",
      "studio": "Studio",
      "studioSubtitle": "Curated angles, consistent engine",
      "modeHintStudio": "Pick ready-made camera angles, all rendered by the consistent angle engine.",
      "studioEngineInfo": "Consistent angle engine (auto). Same model as Advanced, no reinterpretation.",
      "studioSelectedSuffix": "selected",
      "studioPickAngles": "Camera Angles",
      "studioPickAnglesHint": "Each selected angle renders as one consistent shot.",
      "studioSelectAll": "All",
      "studioClearAll": "Clear",
      "studioStrengthHint": "Higher values hold the chosen camera angle more strictly.",
      "studioEnhanceLabel": "Enhance angles",
      "studioEnhanceHint": "Add a realistic environment, people, lighting and materials to each angle for a finished, photorealistic result. +16 credits per angle.",
      "studioEnhancing": "Enhancing…",
      "studioEnhanced": "Enhanced",
      "studioPresets": {
        "cornerHero": "Corner Hero",
        "oppositeCorner": "Opposite Corner",
        "sideFacade": "Side Facade",
        "lowAngle": "Low Angle",
        "highAngle": "High Angle",
        "aerial": "Aerial",
        "eyeLevel": "Eye Level",
        "closeDetail": "Close Detail",
        "macro": "Macro Close-up",
        "wideShot": "Wide Shot"
      }
    },
    "starfruit": {
      "preset": "Preset",
      "choosePreset": "Choose a preset",
      "openPickerHint": "Open the picker to browse larger preview cards.",
      "stylePreset": "Style preset",
      "presetSelected": "{{name}} selected.",
      "chooseOnePreset": "Choose one preset to define the atmosphere.",
      "auto": "Auto",
      "creditNote3x": "1K/2K Pro modes use 3x credits per preset.",
      "lighting": "Lighting",
      "context": "Context",
      "addsContext": "Adds environment, people, and extra scene context.",
      "lightingFocused": "Keeps the change focused on lighting and atmosphere.",
      "qualityMode": "Quality Mode",
      "standard": "Standard",
      "standardSubtitle": "Fast, base quality",
      "pro1k": "1K Pro",
      "pro2k": "2K Pro",
      "proMode3x": "Pro mode (3x credits)",
      "creditNote3xPerPreset": "1K/2K Pro modes consume 3x credits per preset.",
      "styleFocus": "Style Focus",
      "lightingOnly": "Lighting Only",
      "lightingOnlySubtitle": "Current behavior",
      "lightingContext": "Lighting + Context",
      "lightingContextSubtitle": "Adds environment + people",
      "styleFocusHint": "Adds context-aware environment, people, and material realism while preserving angle and geometry."
    },
    "floorPlan": {
      "resolution": "Resolution",
      "resolutionHint": "720p is cheaper, 1080p is sharper.",
      "preset": "Preset",
      "openPickerHint": "Open the picker to browse larger preview cards.",
      "customStyleActive": "Custom style active",
      "customStyleHint": "Preset stays optional while the uploaded style reference drives palette and material mood.",
      "presetSelected": "{{name}} selected.",
      "chooseOnePresetStyle": "Choose one preset to define the style direction.",
      "noPresetsForMode": "No presets available for this mode.",
      "customRefActive": "Custom style reference is active. Clear it to pick presets again.",
      "drawFrameInstr": "Draw one frame on the uploaded plan. The frame stays locked to the selected output ratio.",
      "clickToPlaceMarker": "Click anywhere on the plan to place the camera marker and steer the room view.",
      "uploadFirstThenDrag": "Upload a plan first, then drag one area.",
      "uploadFirstThenPin": "Upload a plan first, then click to drop a camera pin.",
      "planPreviewAlt": "Plan preview",
      "optionalReference": "Optional reference",
      "uploadStyleSample": "Upload a small style sample to override preset mood.",
      "clear": "Clear",
      "wetAreasPlaceholder": "Wet areas keep tile, corridors terrazzo, dark charcoal walls, minimal rugs...",
      "notesHint": "Optional material, lighting, or styling notes layered on top of the preset.",
      "soft": "Soft",
      "gpt": "GPT",
      "softGptDesc": "<0>Soft</0> keeps the Apple plan flow. <0>GPT</0> uses ChatGPT GPT Image 2.",
      "softGptDescAlt": "<0>Soft</0> keeps the current Apple render flow. <0>GPT</0> uses ChatGPT GPT Image 2 in both modes.",
      "softDesc": "Current Apple pipeline for plan coloring and space visualization.",
      "gptDesc": "ChatGPT GPT Image 2 for both plan coloring and space visualization.",
      "sunburst": "Sunburst",
      "flare": "Flare",
      "sunburstDesc": "GPT Image 2.5 Sunburst — the most faithful plan reading (High, 26 credits).",
      "flareDesc": "GPT Image 2.5 Flare — same quality about 2x faster (High, 26 credits).",
      "flux3": "Flux 3",
      "flux3Desc": "FLUX 3 — crisp native 2K plans with precise edits.",
      "planColoring": "Plan Coloring",
      "spaceVisualization": "Space Visualization",
      "planColoringDesc": "Uploads the plan, applies a style preset, and returns a colored floor plan with Nano Banana Pro.",
      "spaceVisDesc": "Uploads the plan, lets you drop a pin, and renders an immersive view of that location with GPT Image 1.5.",
      "renderTypeHint": "Coloring returns a styled plan. Visualization renders a room from the plan.",
      "renderType": "Render Type",
      "visualizationMode": "Visualization Mode",
      "twoDFlat": "2D Flat",
      "twoDRealistic": "2D Realistic",
      "threeDDepth": "3D Depth",
      "twoDThreeDHint": "2D keeps the plan flat. 3D adds depth, lighting, and volume.",
      "twoDThreeDHintAlt": "2D: flat walls, no height; PBR textures baked. 3D: volumetric depth and lighting.",
      "twoDThreeDHintFull": "2D: flat plan, no shadows/depth. 3D: volumetric PBR with depth and shading.",
      "advancedArea": "Advanced Area",
      "creativePin": "Creative Pin",
      "advancedAreaShort": "Advanced (Area)",
      "creativePinShort": "Creative (Pin)",
      "advancedCreativeHint": "Advanced draws a ratio-locked frame. Creative drops a camera pin on the plan.",
      "advancedCreativeHintShort": "Advanced: draw a frame (locked to output ratio). Creative: drop a camera pin.",
      "modeColorOrVis": "Coloring: styled plan output. Visualization: click a spot on the plan to render that room.",
      "selectAreaOnPlan": "Select Area on Plan",
      "markLocationOnPlan": "Mark Location on Plan",
      "uploadFirstThenSelect": "Upload a plan first, then drag to select an area.",
      "uploadFirstThenDrop": "Upload a plan first, then click to drop a pin.",
      "focusPoint": "Focus point: {{x}}% , {{y}}%",
      "headingValue": "Heading: {{deg}}° (0° = right/east)",
      "selectModeUpper": "SELECT MODE",
      "stylePresetsUpper": "STYLE PRESETS",
      "markLocationUpper": "MARK LOCATION ON PLAN",
      "cameraHeading": "Camera Heading",
      "noPresetsAdminHint": "No presets found. Add presets in admin to populate this list.",
      "uploadPlanForMarker": "Upload a plan to place a marker.",
      "selectOutputFrame": "Select desired output frame",
      "markerSizeValue": "Size: {{percent}}%"
    },
    "papaya": {
      "papayaMode": "Papaya Mode",
      "papayaFull": "Papaya Full",
      "papayaFullSubtitle": "Custom scale up to 12K",
      "landscapeBoost": "Landscape Boost",
      "landscapeBoostSubtitle": "Advanced landscape realism + clarity",
      "outputMode": "Output Mode",
      "edgeFeather": "Edge Feather",
      "edgeFeatherHint": "Specifies how soft the edges are in the masking area.",
      "promptLabel": "Prompt",
      "promptPlaceholder": "Describe what to preserve or enhance...",
      "generating": "Generating...",
      "generateFromImage": "Generate from image (1 credit)",
      "scaleFactor": "Scale Factor",
      "supportsUpTo12k": "Supports outputs up to 12K long edge; higher requests are blocked.",
      "above12kBlocked": "Outputs above 12K are not supported. Please lower the scale factor.",
      "detailLevel": "Detail Level",
      "low": "Low",
      "medium": "Medium",
      "high": "High",
      "detailLevelHint": "For large facades or landscapes pick High to preserve fine architectural details; Low is safest for small or noisy inputs.",
      "resemblance": "Resemblance",
      "resemblanceHint": "Higher resemblance keeps the original image closer; lower allows more freedom.",
      "clarityCreativity": "Clarity Creativity",
      "creativity": "Creativity",
      "clarityHint": "Controls clarity stage creativity in landscape flow.",
      "creativityHint": "0 = more conservative, 1 = more creative & free.",
      "creditMultiplier": "Estimated credit multiplier: {{mult}}× (long edge ~{{k}}K)"
    },
    "dragonFruit": {
      "modeLabel": "Mode",
      "cristal": "Cristal",
      "cristalSubtitle": "Classic mode, stronger and more expensive",
      "fineclarity": "Fineclarity",
      "fineclaritySubtitle": "New default, lower-cost upscale",
      "newBadge": "New",
      "resolution": "Resolution",
      "fasterOutput": "Faster output",
      "higherDetailOutput": "Higher-detail output",
      "maxDetailSlowest": "Maximum detail, slowest output"
    },
    "watermelon": {
      "textToImage": "Text to Image",
      "textToImageSubtitle": "Prompt only",
      "imageToImage": "Image to Image",
      "imageToImageSubtitle": "Use a reference image",
      "promptOption": "Prompt",
      "promptOptionSubtitle": "Write your own prompt",
      "presetOption": "Preset (Nano Banana Pro)",
      "presetOptionSubtitle": "Curated styles (1K/2K)",
      "addSingleImage": "Add a single image to drive the edit or style.",
      "addUpTo14": "Add up to 14 images to drive Nano Banana 2 editing/fusion.",
      "addUpTo4": "Add up to 4 images to drive the edit or style.",
      "autoPromptFromImage": "Auto Prompt (From Image)",
      "autoPromptFromImageDesc": "Provide a short note and let Gemini analyze the image to draft a matching prompt.",
      "yourNoteRequired": "Note",
      "yourNotePlaceholder": "E.g.: Make it warmer, add soft daylight, keep materials premium.",
      "actionCosts1Credit": "This action costs 1 credit. Remaining: {{remaining}} credits.",
      "analyzingImage": "Analyzing Image...",
      "autoWritePrompt": "Auto-Write Prompt",
      "presetLibrary": "Preset Library",
      "noImage": "No image",
      "noPresetsAdminHint": "No presets found. Add presets in admin to populate this list.",
      "presetsHint": "Presets work only in Watermelon image-to-image with Nano Banana Pro (1K/2K). Prompt input is disabled while a preset is selected.",
      "modelsSelectedSummary_one": "{{count}} model selected • {{images}} image{{plural}} per model • {{total}} total outputs",
      "modelsSelectedSummary_other": "{{count}} models selected • {{images}} image{{plural}} per model • {{total}} total outputs",
      "badgesShowCredits": "Badges show estimated credits per image for this module and model.",
      "savedPrompts": {
        "title": "My Prompts",
        "description": "Save the prompts you use often and re-apply them with one click instead of retyping.",
        "collapse": "Hide",
        "expand": "Show",
        "titlePlaceholder": "Title (optional), e.g. Warm evening exterior",
        "saveCurrent": "Save current prompt",
        "saving": "Saving...",
        "saveHint": "Saves the prompt written above to your library. It stays available on every device you sign in from.",
        "writePromptFirst": "Write a prompt above first, then save it here.",
        "alreadySaved": "This prompt is already saved as \"{{title}}\".",
        "limitReached": "You reached the limit of {{limit}} saved prompts. Delete some to add new ones.",
        "saved": "Prompt saved.",
        "saveFailed": "Could not save the prompt.",
        "loadFailed": "Could not load your saved prompts.",
        "updateFailed": "Could not update the prompt.",
        "deleteFailed": "Could not delete the prompt.",
        "deleted": "Prompt deleted.",
        "overwritten": "Saved prompt updated with the current text.",
        "loading": "Loading your prompts...",
        "empty": "No saved prompts yet. Write a prompt above and click \"Save current prompt\" to keep it for next time.",
        "noMatches": "No saved prompt matches your search.",
        "searchPlaceholder": "Search your prompts...",
        "untitled": "Untitled prompt",
        "apply": "Use",
        "applied": "Applied",
        "applyTooltip": "Replace the prompt above with this one",
        "append": "Append",
        "appendTooltip": "Add this text to the end of the current prompt",
        "rename": "Rename",
        "overwrite": "Update",
        "overwriteTooltip": "Replace this saved prompt's text with the prompt currently written above",
        "delete": "Delete",
        "confirmDelete": "Yes, delete",
        "cancel": "Cancel",
        "pin": "Pin to top",
        "unpin": "Unpin",
        "usedTimes": "Used {{count}} times"
      }
    },
    "animation": {
      "videoOptionsUpper": "VIDEO OPTIONS",
      "promptMode": "Prompt Mode",
      "aiAutoPrompt": "AI Auto Prompt",
      "aiAutoPromptSubtitle": "Analyzes each image and writes the cinematic prompt for you.",
      "manualPrompt": "Manual Prompt",
      "manualPromptSubtitle": "Use your own exact prompt for every selected image.",
      "disabledTimelapse": "Disabled while Phase Timelapse is enabled.",
      "phaseTimelapseHint": "Phase Timelapse uses AI auto prompt because it needs to analyze both start and end frames together.",
      "promptPlaceholder": "Example: Slow dolly forward through the facade, cinematic architectural motion, restrained pace, preserve geometry and materials exactly, soft evening atmosphere.",
      "samePromptUsed": "The same prompt will be used for each uploaded image.",
      "promptSentDirectly": "Your prompt is sent directly to the selected animation model.",
      "model": "Model",
      "duration": "Duration",
      "secondsValue": "{{seconds}}s",
      "resolution": "Resolution",
      "audio": "Audio",
      "audioPaid": "Adds sound and costs {{multiplier}}x credits.",
      "audioFree": "Adds sound with no extra credit cost.",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "endFrame": "End Frame",
      "endFrameRequiresRes": "Requires a single start image and {{resolution}} resolution.",
      "endFrameRequiresImage": "Requires a single start image.",
      "endFrameUseGuide": "Use a second frame to guide the final shot.",
      "phaseTimelapse": "Phase Timelapse",
      "phaseTimelapseDesc": "Use construction-stage storytelling between the two frames.",
      "videoSummary_one": "Will create {{count}} x {{seconds}}-second {{resolution}} video",
      "videoSummary_other": "Will create {{count}} x {{seconds}}-second {{resolution}} videos",
      "uploadToSeeCount": "Upload images to see video count"
    },
    "corn": {
      "targetExterior": "Target Exterior",
      "baseImage": "Base Image",
      "uploadFacadeReceiver": "Upload the building render or photo that will receive the facade.",
      "uploadCornRestyle": "Upload the image you want Corn to restyle.",
      "facadeReference": "Facade Reference",
      "referenceStyle": "Reference Style",
      "uploadFacadeExample": "Upload the facade example that Corn should adapt onto the target building.",
      "uploadPaletteRef": "Upload the render whose palette, mood, and materials should be copied."
    },
    "mango": {
      "quickNote": "Quick note",
      "optionalPromptBuilder": "Optional prompt builder",
      "warmerDaylightPlaceholder": "E.g.: Make it warmer, add soft natural daylight, keep materials premium.",
      "autoWritePrompt": "Auto-write prompt",
      "describeYourConcept": "Describe your concept",
      "conceptPlaceholder": "E.g.: Turn this image into a warm golden-hour scene with lush greenery and soft atmospheric haze.",
      "creativity": "Creativity",
      "imageFaithful": "Image-faithful",
      "promptDriven": "Prompt-driven",
      "cfgGuidance": "CFG · Guidance",
      "loose": "Loose",
      "strict": "Strict",
      "cfgHint": "Creativity controls how far the result drifts from your input image. CFG controls how strictly the model follows your prompt.",
      "describeConceptUpper": "DESCRIBE YOUR CONCEPT"
    },
    "pineapple": {
      "characterHint": "Pick the overall character for the variation set.",
      "alternativesHint": "Choose how many camera and atmosphere alternatives to generate."
    },
    "carrot": {
      "mixCropsPrompt": "Mix up to {{max}} ratio-locked crops and write a prompt for each one.",
      "drawRectanglesHint": "Draw rectangles around the zones that need attention. Carrot will process only these selections.",
      "best4kHint": "Best results: original 4K or 8K source",
      "areaClarity": "Area Clarity",
      "areaClaritySubtitle": "Local 2× enhancement with soft blending for precise detail recovery.",
      "areaFieldEnrichment": "Area Field Enrichment",
      "areaFieldEnrichmentSubtitle": "Targeted edits for up to 6 crops with an optional Cristal sharpness pass.",
      "areaRestoration": "Area Restoration",
      "areaRestorationSubtitle": "Targeted detail rescue for people and organic subjects.",
      "creditsPerCrop": "12 credits per crop. Cristal adds 6 more.",
      "typePromptInsideCrop": "Type each prompt directly inside its crop on the image.",
      "cristalSharpenCreditsHint": "+6 credits per crop after the main enhancement pass."
    },
    "simpleMods": {
      "strawberryModelDesc": "Choose how realistic, sharp, or stylized the sketch-to-render conversion should feel.",
      "strawberryVariationDesc": "Generate multiple material and texture directions from the same sketch.",
      "cherryModelDesc": "Pick the engine that should drive the interior mood and styling language.",
      "cherryVariationDesc": "Explore several decor, lighting, and atmosphere options in one run.",
      "peachModelDesc": "Control whether the material swap feels cleaner, bolder, or more artistic.",
      "peachVariationDesc": "Generate a compact set of material alternatives from the uploaded scene."
    },
    "stylePreset": {
      "selectStylePresetUpper": "SELECT STYLE PRESET",
      "styleSelected": "Style selected",
      "pleaseSelectStyle": "Please select a style",
      "autoMatchInput": "Auto (Match Input)",
      "ratio11": "1:1 (Square)",
      "ratio169": "16:9 (Landscape)",
      "ratio916": "9:16 (Portrait)",
      "ratio43": "4:3 (Standard)",
      "ratio34": "3:4 (Portrait)",
      "aiDetected": "AI detected: {{ratio}}",
      "manualSelectionActive": "Manual selection active",
      "ratioNotAvailable": "N/A"
    },
    "action": {
      "send2kEdit": "Send 2K Edit",
      "upscaleMax12k": "Upscale (max 12K)",
      "viewGuide": "View guide",
      "newBadge": "New",
      "moduleQuota": "Module quota",
      "perMonth": "Per month",
      "perBillingCycle": "Per billing cycle",
      "unlimitedForModule": "Unlimited for this module",
      "operationsLeft": "{{remaining}} / {{limit}} operations left",
      "quotaExhausted": "Quota is exhausted. Upgrade to keep using this module.",
      "seePlans": "See plans",
      "viewPlans": "View plans",
      "membershipRequired": "Membership required. Please buy a plan to continue.",
      "moduleQuotaExhausted": "This module quota is used up for your plan. Please upgrade to continue.",
      "needMoreCredits": "You need {{required}} credits but only have {{available}}. Please purchase more credits to continue.",
      "cost": "Cost",
      "variationCount_one": "{{count}} Variation",
      "variationCount_other": "{{count}} Variations",
      "planLimitVariations": "Plan limit: {{max}} variations per operation",
      "wantMoreVariations": "Want more variations per operation?",
      "modelsSelectedRender_one": "{{count}} model selected - Each model = 1 render",
      "modelsSelectedRender_other": "{{count}} models selected - Each model = 1 render",
      "selectAiModelsUpper": "SELECT AI MODELS TO COMPARE"
    },
    "processing": {
      "label": "Processing",
      "workingMagic": "{{title}} is working its magic",
      "preparingRenders": "Preparing your renders…"
    },
    "modelGuide": {
      "title": "Render Model Guide",
      "newBadge": "New",
      "tipPrefix": "Tip:",
      "tipBody": "Soft is the default all-rounder. Soft 2 is tuned for cleaner details and higher visual polish. Contrast adds drama. Fluid is ideal for before/after edits that keep geometry locked. Clay and Balance are more experimental and artistic."
    },
    "compareModelsPlaceholder": "E.g.: Generate images of parks and recreational areas in a modern minimalist architectural style...",
    "compareModelsHint": "AI will analyze the images and generate new visuals matching your concept",
    "cornDeadCode": {
      "copyExact": "Leave blank to copy the style exactly.",
      "proCredits": "2K Pro uses 3x credits and generates 1 image."
    }
  },
  "carrotSelector": {
    "removeRegion": "Remove region",
    "typePromptInsideCrop": "Type prompt inside this crop...",
    "areaLabel": "Area {{number}}",
    "regionLabel": "Region {{number}}",
    "areasSelected": "{{count}}/{{max}} areas selected",
    "selectionLimitReached": "Selection limit reached",
    "dragToDrawLocked": "Drag to draw a crop, then move or resize it. The selected ratio stays locked.",
    "dragToDrawFree": "Drag to draw areas, then drag the corners to resize precisely.",
    "remove": "Remove",
    "regionCoords": "X {{x}}% | Y {{y}}% | W {{w}}% | H {{h}}%"
  },
  "coconutCanvas": {
    "draw": "Draw",
    "drawSubtitle": "Brush and markup layer",
    "clearDrawing": "Clear drawing",
    "brushColor": "Brush color",
    "textNote": "Text Note",
    "textNoteSubtitle": "Quick callout on the frame",
    "sync": "Sync",
    "addTextNote": "Add a text note...",
    "addButton": "Add",
    "textColor": "Text color",
    "color": "Color",
    "width": "Width",
    "size": "Size",
    "canvasNotes": "Canvas Notes",
    "textType": "Text",
    "imageType": "Image"
  },
  "kiwiAngle": {
    "horizontal": "Horizontal",
    "vertical": "Vertical",
    "zoom": "Zoom",
    "reset": "Reset",
    "uploadFirst": "Upload an image first.",
    "dragHandle": "Drag the handle to adjust the angle",
    "xyzView": "XYZ View"
  },
  "presetPicker": {
    "hidePresets": "Hide presets",
    "changePreset": "Change preset",
    "presetsAvailable_one": "{{count}} preset available",
    "presetsAvailable_other": "{{count}} presets available"
  },
  "creditCount_one": "{{count}} credit",
  "creditCount_other": "{{count}} credits",
  "promptModels": {
    "soft": "Gemini 2.5 Flash Image for clean text-to-image",
    "soft2": "Google nano-banana-2 (1K/2K/4K)",
    "soft-pro": "1K or 2K Pro (same credits, faster 1K option)",
    "contrast": "Text-to-image with detailed composition",
    "clay": "Text-to-image with crisp material detail",
    "fluid": "Image edit: preserve structure, refresh materials & lighting (best for before/after)",
    "balance": "Flux balance model with fast output",
    "gpt-image-2": "OpenAI GPT Image 2",
    "gpt-image-2.5-sunburst": "OpenAI GPT Image 2.5 Sunburst — most capable, most precise edits",
    "gpt-image-2.5-flare": "OpenAI GPT Image 2.5 Flare — same quality, about 2x faster",
    "flux-3": "Black Forest Labs FLUX 3 — native up to 4K, precise edits",
    "grok": "Text-to-image with high aesthetic quality (fal.ai)",
    "z-image-turbo": "Ultra fast text-to-image (0.5x credits)",
    "imagen-4-fast": "Google Imagen fast variant (speed-first)",
    "ideogram-v3-quality": "Highest quality Ideogram v3 (2x credits)"
  },
  "renderModels": {
    "soft": "Most realistic and most accurate model.",
    "soft2": "A more affordable version of Soft.",
    "pro": "Premium pipeline: Nano Banana Pro 1K render then Clarity Pro and Crystal upscale (~5K).",
    "contrast": "Sharper materials with stronger contrast.",
    "clay": "A more artistic model with a minimal look.",
    "balance": "A budget-friendly model with balanced results.",
    "fluid": "Sits between artistic style and realism.",
    "gpt-image-2": "OpenAI GPT Image 2 with quality-based pricing.",
    "gpt-image-2.5-sunburst": "OpenAI GPT Image 2.5 Sunburst: the most capable GPT image model with the tightest editing precision.",
    "gpt-image-2.5-flare": "OpenAI GPT Image 2.5 Flare: the fast GPT Image 2.5 engine for everyday renders, about 2x faster.",
    "flux-3": "Black Forest Labs FLUX 3: native output up to 4K with very precise edits, priced by resolution."
  },
  "aspectRatioLabels": {
    "1:1": "1:1 (Square)",
    "2:1": "2:1 (Cinematic Wide)",
    "20:9": "20:9 (Mobile Wide)",
    "19.5:9": "19.5:9 (Mobile Wide)",
    "16:9": "16:9 (Landscape)",
    "9:16": "9:16 (Portrait)",
    "9:19.5": "9:19.5 (Mobile Tall)",
    "9:20": "9:20 (Mobile Tall)",
    "4:3": "4:3 (Standard)",
    "3:4": "3:4 (Portrait)",
    "3:2": "3:2 (Wide)",
    "2:3": "2:3 (Tall)",
    "21:9": "21:9 (Ultra Wide)",
    "9:21": "9:21 (Ultra Tall)",
    "1:2": "1:2 (Tall)",
    "4:5": "4:5 (Portrait)",
    "5:4": "5:4 (Landscape)",
    "7:5": "7:5 (Landscape)",
    "5:7": "5:7 (Portrait)",
    "match_input_image": "Auto (Match Input)"
  },
  "pricingBadge": {
    "credits32": "32 credits",
    "credits12": "12 credits",
    "credits3": "3 credits",
    "qualityPriced": "Quality priced",
    "cheaper6x": "6x cheaper",
    "cost4x": "4x cost",
    "cost2x": "2x cost",
    "cost1x": "1x cost",
    "cost6x": "6x cost",
    "cost3x": "3x cost",
    "cost05x": "0.5x cost"
  },
  "moduleDefs": {
    "constructionCost": {
      "title": "Construction Cost Estimator",
      "description": "Professional construction cost estimation: quantities are derived from your building geometry (<b>footprint, facade, excavation</b>), every line item is editable, and <b>your own unit prices</b> are remembered per currency. Export the full bill of quantities as CSV or a print-ready report.",
      "buttonText": "Calculate"
    },
    "banana": {
      "title": "Realistic Render",
      "description": "Three modes: <b>Advanced</b> (fast multi-variation from one render), <b>Creative</b> (more diverse mood/lighting), and <b>Preset</b> (curated architectural styles in 2K).",
      "buttonText": "Enrich Scene"
    },
    "starfruit": {
      "title": "Atmosphere Changer",
      "description": "Upload <b>a single image</b> and select <b>style presets</b> to transform it with AI in <b>4K resolution</b>!",
      "buttonText": "Apply Styles"
    },
    "coconut": {
      "title": "Multi Magic Render",
      "description": "Upload <b>1-3 reference images</b>. Coconut interprets each scene, keeps one lighting plan, and rebuilds photorealistic 2K renders with landscaping, people, vehicles, and micro details. 2K Edit Canvas: annotate a single frame and Coconut applies every note.",
      "buttonText": "Process Images"
    },
    "pineapple": {
      "title": "Creative Variations Engine",
      "description": "Upload an architectural render to generate creative variations with different camera angles, atmospheres, and intelligent scene enrichment.",
      "buttonText": "Generate Variations"
    },
    "kiwi": {
      "title": "AI Camera Assistant",
      "description": "Three modes: <b>Creative</b> suggests professional camera angles automatically. <b>Studio</b> lets you pick the exact angles you want — corner, low, high, aerial, eye-level, close-up — and render several at once. <b>Advanced</b> lets you set azimuth/elevation/zoom manually.",
      "buttonText": "Generate Angles"
    },
    "avocado": {
      "title": "Dynamic Environment",
      "description": "Change entire environment in seconds. Upload a visual to generate different environments (day, rain, fog, etc.).",
      "buttonText": "Generate"
    },
    "apple": {
      "title": "Floor Plan Studio",
      "description": "Upload a floor plan, pick a style preset, and generate either a <b>colored plan</b> or a <b>space visualization</b> with <b>Soft</b> or <b>GPT</b> (ChatGPT GPT Image 2).",
      "buttonText": "Create Plan"
    },
    "watermelon": {
      "title": "Image Generate / Edit",
      "description": "Text-to-image or image-to-image with a model picker. Choose input mode and render.",
      "buttonText": "Generate"
    },
    "corn": {
      "title": "Corn Style Transfer",
      "description": "Interior: upload your main render plus a <b>style reference</b>; Corn transfers palette, materials, and lighting without touching geometry. Exterior: upload a <b>facade reference</b> + your building; Corn adapts the facade design while keeping geometry locked. Aspect ratio selectable.",
      "buttonText": "Transfer Style"
    },
    "strawberry": {
      "title": "Sketch to Render Engine",
      "description": "Upload a <b>single sketch or drawing</b> to transform it into photorealistic renders with different materials and textures.",
      "buttonText": "Transform to Render"
    },
    "cherry": {
      "title": "Interior: Styling Variations",
      "description": "Upload interior renders to generate new styling concepts with different moods, lighting, and decor.",
      "buttonText": "Generate"
    },
    "peach": {
      "title": "Smart Material Swapper",
      "description": "Instantly swap main materials in the project. Upload a visual to generate material variations.",
      "buttonText": "Generate"
    },
    "mango": {
      "title": "Mango Prompt Remix",
      "description": "Upload a single image, describe what you want, and control <b>Creativity</b>. Move the slider left to keep the original image more intact, right to let the prompt lead the transformation.",
      "buttonText": "Remix Image"
    },
    "lemon": {
      "title": "Animation Engine",
      "description": "Upload images (max 5), let AI write cinematic prompts or enter your own manual prompt, then choose an animation model and output settings.",
      "buttonText": "Create Videos"
    },
    "apricot": {
      "title": "Architectural Film Screenwriter",
      "description": "Upload one architectural reference image, let Gemini write a Kling-aware cinematic treatment, then render one premium film with <b>Kling 3.0 Pro</b>.",
      "buttonText": "Create Film"
    },
    "papaya": {
      "title": "Clarity Upscaler - up to 12K",
      "description": "Upload an image, AI upscales it to <b>2K / 4K / 8K</b> with enhanced clarity. No parameters needed!",
      "buttonText": "Upscale (2K/4K/8K)"
    },
    "dragonFruit": {
      "title": "Dragon Fruit Upscaler - Fineclarity / Cristal",
      "description": "Upload one image, pick <b>Fineclarity</b> or <b>Cristal</b>, then upscale in one click. <b>Fineclarity</b> supports <b>2K / 4K</b>; <b>Cristal</b> supports <b>2K / 4K / 8K</b>.",
      "buttonText": "Upscale"
    },
    "pomegranate": {
      "title": "Crystal Enhance (Beta)",
      "description": "Upload one image, choose prompt mode, and set <b>Creativity/Steps</b> + <b>Megapixel</b> (1-6). Preserve perspective and geometry while enhancing details and lighting.",
      "buttonText": "Enhance Image"
    },
    "carrot": {
      "title": "Precision Regional Enhancer",
      "description": "Upload one image and use <b>Area Clarity</b>, <b>Area Restoration</b>, or the new <b>Area Field Enrichment</b> flow. The enrichment mode locks one crop to a standard ratio, merges your prompt with a protection prompt, and composites the edited patch back into the source image.",
      "buttonText": "Enhance Selected Areas"
    },
    "editEngine": {
      "title": "Local Material Swapper Pro",
      "description": "Frame the exact area on your architectural image and attach <b>your own material sample</b> (wood, stone, fabric, a brand's product) — it is applied to that surface only, matching light and perspective. Everything outside the frame stays identical.",
      "buttonText": "Apply Edit"
    },
    "imageToDxf": {
      "title": "Image to DXF Converter",
      "description": "Two modes: <b>Perspective Image to DXF</b> extracts object drawings from any visual, and <b>Plan Image to DXF</b> cleans complex hand-drawn plans. Results depend on AI strength and can vary by image/plan.",
      "buttonText": "Generate DXF"
    },
    "tripo3d": {
      "title": "Image to 3D",
      "description": "Upload one image, choose <b>GLB</b> or <b>FBX</b>, then generate a textured 3D object preview and downloadable mesh. FBX automatically uses quad topology for cleaner downstream editing.",
      "buttonText": "Generate 3D Model"
    },
    "imagesToFlyer": {
      "title": "Images to Flyer",
      "description": "Upload your project images and logo, add a short brief, and get a polished <b>4K presentation flyer</b> (pafta). The system writes the design prompt for you.",
      "buttonText": "Generate Flyer"
    },
    "garlic": {
      "title": "Video Upscaler",
      "description": "Upload a short video and let AI enlarge it to <b>1080p, 2K or 4K</b> with sharper, cleaner detail.",
      "buttonText": "Upscale Video"
    }
  },
  "modelPreview": {
    "idleFallback": "Model file is not ready yet.",
    "spin": "Spin",
    "stopSpin": "Stop spin",
    "reset": "Reset",
    "fullViewer": "Full viewer",
    "scrollToZoom": "Scroll to zoom",
    "dragToInspect": "Drag to inspect angles",
    "loading": "Loading 3D preview..."
  },
  "upscalerResult": {
    "downloadUrlMissing": "Download URL is not available yet.",
    "downloadFailed": "Download failed. Please try again."
  },
  "tripo3d": {
    "loading": "Generating 3D model...",
    "uploadHint": "Upload one clean object image.",
    "engineHint": "Choose which engine will handle this image-to-3D job.",
    "formatHint": "Choose GLB or FBX.",
    "textureHint": "Pick texture detail level.",
    "hunyuanGlbNote": "Hunyuan returns GLB output in this workspace.",
    "outputTypeHint": "Choose textured or geometry-only output.",
    "autoSize": "Auto size",
    "autoSizeHint": "Estimate object scale in meters when the model needs a quick real-world size.",
    "approximateOnly": "Approximate only.",
    "alignToImage": "Align to uploaded image",
    "defaultOrientation": "Default orientation",
    "frontDirectionHint": "Front direction for the generated mesh.",
    "matchUploadedImage": "Match uploaded image",
    "favorGeometry": "Favor geometry consistency",
    "consistencyHint": "Choose between photo match and cleaner projection.",
    "optionalPlaceholder": "Optional",
    "meshSeedHint": "Reuse a mesh variation when you need consistency.",
    "textureSeedHint": "Reuse texture variation when material repeatability matters.",
    "enablePbr": "Enable PBR",
    "enablePbrHint": "Adds metallic, roughness, and normal textures for textured output.",
    "faceCountHint": "Optional target from 40,000 to 1,500,000 faces. Custom values add 30 credits.",
    "guideAria": "Image to 3D guide",
    "closeGuideAria": "Close guide",
    "workspaceGuide": "Workspace guide",
    "imageToThreeD": "Image to 3D",
    "guideSubtitle": "One image in, then GLB or FBX output depending on the selected provider.",
    "tipPrefix": "Tip:",
    "tipBody": "Start with Tripo + GLB for quick previews, or Hunyuan + Textured when you need a denser final mesh."
  },
  "imageToDxf": {
    "perspective": {
      "title": "Perspective Image to DXF",
      "description": "Any visual -> object-level line drawing extraction.",
      "badge": "Perspective"
    },
    "plan": {
      "title": "Plan Image to DXF",
      "description": "Cleaned DXF output for hand-drawn or photographed plans.",
      "badge": "Plan"
    },
    "submittingJob": "Submitting DXF job...",
    "processingJob": "Processing DXF{{queueText}}...",
    "startJobError": "Failed to start DXF job",
    "conversionFailedTitle": "DXF Conversion Failed",
    "conversionFailedFallback": "Please try again.",
    "conversionFailedGallery": "DXF conversion failed",
    "outputLabel": "{{badge}} DXF output"
  },
  "imagesToFlyer": {
    "headerDescription": "Turn your project photos into a professional 4K presentation poster. Add a project name, your logo and a few notes — we handle the design.",
    "projectNameLabel": "Project name",
    "projectNamePlaceholder": "e.g. Riverside Residence",
    "detailsLabel": "Brief & notes",
    "detailsPlaceholder": "What should the flyer highlight? Style, location, key features, any text to include…",
    "detailsHint": "The more context you give, the better the layout and captions.",
    "contentImagesLabel": "Project images",
    "contentImagesHint": "Add up to {{max}} images to feature on the flyer.",
    "logoLabel": "Company logo",
    "logoOptional": "(optional)",
    "logoHint": "Placed tastefully in the header or footer.",
    "orientationLabel": "Format",
    "orientationPortrait": "Portrait poster",
    "orientationLandscape": "Landscape board",
    "orientationSquare": "Square",
    "uploading": "Uploading images…",
    "queued": "Queued for flyer generation…",
    "queuedPosition": "Queued for flyer generation (#{{position}})",
    "processing": "Designing your presentation flyer…",
    "resultPrompt": "Presentation flyer",
    "costNote": "This action costs <b>{{credits}} credits</b>.",
    "membershipRequired": "Membership required",
    "moduleQuotaShort": "Module quota reached",
    "insufficientCredits": "Insufficient credits",
    "membershipBody": "An active subscription is required to use Images to Flyer.",
    "moduleQuotaBody": "This module quota is used up for your plan. Upgrade to continue.",
    "insufficientBody": "You need {{required}} credits but only have {{balance}}.",
    "viewPlans": "View plans",
    "failedTitle": "Flyer generation failed",
    "failedContent": "The flyer could not be generated. Please try again.",
    "needImagesTitle": "Images required",
    "needImagesContent": "Add at least one project image to generate a flyer.",
    "moduleQuota": "This module quota for your plan is exhausted. Please upgrade or wait for reset.",
    "brand": {
      "title": "Brand details",
      "active": "Active",
      "none": "None",
      "noneOption": "— No brand —",
      "untitled": "Untitled preset",
      "newPreset": "New",
      "label": "Preset name",
      "labelPlaceholder": "e.g. Enginar Architecture",
      "companyName": "Company name",
      "phone": "Phone",
      "email": "Email",
      "website": "Website",
      "address": "Address",
      "colors": "Brand colors",
      "addColor": "Add color",
      "extraNotes": "Other details / notes",
      "extraNotesPlaceholder": "Slogan, style preferences, anything to always include…",
      "logo": "Logo",
      "noLogo": "No logo",
      "save": "Save",
      "update": "Update",
      "saving": "Saving…",
      "delete": "Delete"
    }
  },
  "garlic": {
    "uploadTitle": "Upload your video",
    "uploadHint": "MP4, MOV or WebM · up to 20 seconds · up to 50 MB",
    "dropHere": "Drop a video here or click to choose one",
    "changeVideo": "Choose another video",
    "probing": "Reading video details…",
    "sourceInfo": "{{width}}×{{height}} · {{seconds}} s · {{size}} MB",
    "engineLabel": "Engine",
    "engineHelp": "The AI model that does the upscaling. More engines will be added over time.",
    "modeLabel": "Upscale mode",
    "modeHelp": "How much the AI may change the picture while enlarging it.",
    "precise": "Precise",
    "preciseHelp": "Stays faithful to your original video: sharper and cleaner, nothing new is invented. Best for renders and client deliveries.",
    "creative": "Creative",
    "creativeHelp": "Adds fine texture and detail while enlarging. More striking, but small details may differ from the original. Costs more per second.",
    "targetLabel": "Output resolution",
    "targetHelp": "The size of the finished video. Your video's aspect ratio is always kept.",
    "target1080p": "1080p · Full HD",
    "target2k": "2K · QHD",
    "target4k": "4K · Ultra HD",
    "targetUnavailable": "Not available for this video size",
    "outputSize": "Output {{width}}×{{height}} ({{factor}}× larger)",
    "promptLabel": "Detail guidance (optional)",
    "promptHelp": "Only used in Creative mode. Describe the materials or details you want emphasised.",
    "promptPlaceholder": "e.g. crisp brick texture, clean glass reflections",
    "pricingTitle": "Price",
    "pricingHelp": "You pay per second of the finished video: longer clips, bigger resolutions and Creative mode cost more. Credits are only deducted when the upscale succeeds.",
    "perSecond": "{{credits}} credits per second",
    "estimate": "{{seconds}} s × {{rate}} credits = {{total}} credits",
    "rateTable": "Rates per second",
    "queued": "Waiting in the queue…",
    "processing": "Upscaling your video… this usually takes a few minutes.",
    "saving": "Saving the upscaled video…",
    "completed": "Your upscaled video is ready.",
    "resultTitle": "Upscaled video",
    "download": "Download video",
    "newVideo": "Upscale another video",
    "errors": {
      "unsupported": "Please upload an MP4, MOV or WebM video.",
      "tooLarge": "The video must be at most 50 MB.",
      "tooLong": "The video must be at most 20 seconds long.",
      "unreadable": "The video could not be read. Try exporting it again as MP4.",
      "tooSmall": "The video is too small to upscale (at least 240 px on the long side).",
      "already4k": "The video is already larger than 4K and cannot be upscaled further.",
      "targetUnavailable": "That resolution is not available for this video size. Pick another one.",
      "uploadFailed": "The video could not be uploaded. Please try again.",
      "failed": "The upscale failed. Please try again."
    }
  }
}
