{
  "abuseReport": {
    "title": "Report this survey",
    "intro": "Tell us what's wrong. We review every report.",
    "reasonLabel": "What's the problem?",
    "reasons": {
      "phishing": "It asks for passwords, codes or payment details",
      "spam": "Spam or a scam",
      "harassment": "Harassment or hate",
      "illegal": "Illegal or harmful content",
      "other": "Something else"
    },
    "detailsLabel": "Details (optional)",
    "emailLabel": "Your email (optional, if you'd like a reply)",
    "submit": "Send report",
    "sent": "Thank you. We've received your report and will review it.",
    "error": "Something went wrong. Please try again.",
    "tooMany": "Too many reports. Please try again later."
  },
  "Submitting...": "Submitting...",
  "productShell": {
    "scrollToTop": "Scroll to top",
    "nav": {
      "qualitative": "Qualitative",
      "quantitative": "Quantitative",
      "agentUsability": "Agent usability"
    }
  },
  "listExperiment": {
    "instruction": "How many of these statements apply to you? Don't tell us which ones — just how many.",
    "methodologyHint": "List experiment (item count technique): respondents are randomly split into a control group (shown only the statements below) and a treatment group (shown the same statements plus one sensitive statement). Each person reports only HOW MANY apply — never which — so no individual answer reveals the sensitive item. The difference in average counts estimates its prevalence.",
    "controlStatements": "Control statements",
    "statement": "Statement",
    "addStatement": "Add statement",
    "sensitiveStatement": "Sensitive statement",
    "sensitiveStatementHint": "Shown only to the randomly-assigned treatment group, mixed in with the control statements.",
    "sensitiveStatementPlaceholder": "The sensitive statement to estimate",
    "randomizeStatementOrder": "Randomize statement order",
    "estimatedPrevalence": "Estimated prevalence",
    "confidenceInterval": "95% confidence interval",
    "controlGroup": "Control group",
    "treatmentGroup": "Treatment group",
    "mean": "Mean count",
    "lowSampleCaveat": "Estimate is based on fewer than 30 responses per group and may be unreliable."
  },
  "Loading...": "Loading...",
  "Processing...": "Processing...",
  "Question": "Question",
  "of": "of",
  "Survey Complete!": "Survey Complete!",
  "Create your own survey on": "Create your own survey on",
  "Generating a custom question for you...": "Generating a custom question for you...",
  "to make a line break": "to make a line break",
  "Phone number is invalid.": "Phone number is invalid.",
  "Edit Image": "Edit Image",
  "Rotate left": "Rotate left",
  "Rotate right": "Rotate right",
  "Flip horizontal": "Flip horizontal",
  "Flip vertical": "Flip vertical",
  "Zoom in": "Zoom in",
  "Zoom out": "Zoom out",
  "Reset": "Reset",
  "Cancel": "Cancel",
  "Apply": "Apply",
  "Saving...": "Saving...",
  "imageEditor": {
    "title": "Edit Image",
    "save": "Save & Continue",
    "cancel": "Cancel",
    "ogRatio": "Social Card (1.91:1)",
    "editBeforeApply": "Edit",
    "loading": "Loading editor...",
    "filerobot": {
      "name": "Name",
      "save": "Save",
      "saveAs": "Save as",
      "back": "Back",
      "loading": "Loading...",
      "resetOperations": "Reset/delete all operations",
      "changesLoseWarningHint": "If you press \"reset\" your changes will be lost. Would you like to continue?",
      "discardChangesWarningHint": "If you close the editor, your last change will not be saved.",
      "cancel": "Cancel",
      "apply": "Apply",
      "warning": "Warning",
      "confirm": "Confirm",
      "discardChanges": "Discard changes",
      "undoTitle": "Undo last operation",
      "redoTitle": "Redo last operation",
      "showImageTitle": "Show original image",
      "zoomInTitle": "Zoom in",
      "zoomOutTitle": "Zoom out",
      "toggleZoomMenuTitle": "Toggle zoom menu",
      "adjustTab": "Adjust",
      "finetuneTab": "Finetune",
      "filtersTab": "Filters",
      "watermarkTab": "Watermark",
      "annotateTabLabel": "Annotate",
      "resize": "Resize",
      "resizeTab": "Resize",
      "imageName": "Image name",
      "invalidImageError": "Invalid image provided.",
      "uploadImageError": "Error while uploading the image.",
      "areNotImages": "are not images",
      "isNotImage": "is not image",
      "toBeUploaded": "to be uploaded",
      "cropTool": "Crop",
      "original": "Original",
      "custom": "Custom",
      "square": "Square",
      "landscape": "Landscape",
      "portrait": "Portrait",
      "ellipse": "Ellipse",
      "classicTv": "Classic TV",
      "cinemascope": "Cinemascope",
      "arrowTool": "Arrow",
      "blurTool": "Blur",
      "brightnessTool": "Brightness",
      "contrastTool": "Contrast",
      "ellipseTool": "Ellipse",
      "unFlipX": "Un-Flip X",
      "flipX": "Flip X",
      "unFlipY": "Un-Flip Y",
      "flipY": "Flip Y",
      "hsvTool": "HSV",
      "hue": "Hue",
      "brightness": "Brightness",
      "saturation": "Saturation",
      "value": "Value",
      "imageTool": "Image",
      "importing": "Importing...",
      "addImage": "+ Add image",
      "uploadImage": "Upload image",
      "fromGallery": "From gallery",
      "lineTool": "Line",
      "penTool": "Pen",
      "polygonTool": "Polygon",
      "sides": "Sides",
      "rectangleTool": "Rectangle",
      "cornerRadius": "Corner Radius",
      "resizeWidthTitle": "Width in pixels",
      "resizeHeightTitle": "Height in pixels",
      "toggleRatioLockTitle": "Toggle ratio lock",
      "resetSize": "Reset to original image size",
      "rotateTool": "Rotate",
      "textTool": "Text",
      "textSpacings": "Text spacings",
      "textAlignment": "Text alignment",
      "fontFamily": "Font family",
      "size": "Size",
      "letterSpacing": "Letter Spacing",
      "lineHeight": "Line height",
      "warmthTool": "Warmth",
      "addWatermark": "+ Add watermark",
      "addTextWatermark": "+ Add text watermark",
      "addWatermarkTitle": "Choose the watermark type",
      "uploadWatermark": "Upload watermark",
      "addWatermarkAsText": "Add as text",
      "padding": "Padding",
      "paddings": "Paddings",
      "shadow": "Shadow",
      "horizontal": "Horizontal",
      "vertical": "Vertical",
      "blur": "Blur",
      "opacity": "Opacity",
      "transparency": "Transparency",
      "position": "Position",
      "stroke": "Stroke",
      "saveAsModalTitle": "Save as",
      "extension": "Extension",
      "format": "Format",
      "nameIsRequired": "Name is required.",
      "quality": "Quality",
      "imageDimensionsHoverTitle": "Saved image size (width x height)",
      "cropSizeLowerThanResizedWarning": "The selected crop area is smaller than the applied resize, which may reduce quality",
      "actualSize": "Actual size (100%)",
      "fitSize": "Fit size",
      "addImageTitle": "Select image to add...",
      "mutualizedFailedToLoadImg": "Failed to load image.",
      "tabsMenu": "Menu",
      "download": "Download",
      "width": "Width",
      "height": "Height",
      "plus": "+",
      "cropItemNoEffect": "No preview available for this crop item",
      "px": "px"
    },
    "ai": {
      "togglePanel": "AI Generate",
      "emptyState": "Describe the image you want to create",
      "emptyStateHint": "The AI will generate an image you can edit further",
      "applyToEditor": "Apply",
      "refine": "Refine",
      "generating": "Generating image...",
      "refining": "Refining image...",
      "describeImage": "Describe your image...",
      "describeRefine": "Describe how to refine...",
      "replaceConfirm": "Replace current image?",
      "replaceConfirmMessage": "This will replace the image in the editor. You can undo by closing without saving.",
      "replace": "Replace",
      "versions": "Versions",
      "versionLabel": "v{{number}}",
      "revertToOriginal": "Revert to Original",
      "emptyStateEdit": "Edit this image with AI",
      "emptyStateEditHint": "Describe what you want to change about the current image",
      "describeEdit": "Describe what to change..."
    },
    "discardChanges": {
      "cancel": "Cancel",
      "confirm": "Confirm",
      "message": "Message",
      "title": "Title"
    }
  },
  "Submit": "Submit",
  "Send": "Send",
  "Press Enter to send": "Press Enter to send",
  "Press Cmd+Enter to send": "Press Cmd+Enter to send",
  "Press Ctrl+Enter to send": "Press Ctrl+Enter to send",
  "date-picker": {
    "date": "{{date, MMMM yyyy}}",
    "Select a date": "Select a date",
    "days": {
      "su": "Su",
      "mo": "Mo",
      "tu": "Tu",
      "we": "We",
      "th": "Th",
      "fr": "Fr",
      "sa": "Sa"
    }
  },
  "Enter your": "Enter your",
  "Responses are not allowed. The current chat limits reached": "Responses are not allowed. You have reached the current limit for responses in one month. Please upgrade your account to allow additional responses.",
  "Thanks for visiting! This study is currently full. Please check back later.": "Thanks for visiting! This study is currently full. Please check back later.",
  "Responses are not allowed. Unsupported browser detected": "Responses are not allowed. Unsupported browser detected. Please use a supported browser.",
  "Responses are not allowed. Incognito mode is restricted": "Responses are not allowed. Incognito mode is restricted.",
  "Responses are not allowed. Multiple submissions is restricted": "Responses are not allowed. Multiple submissions is restricted.",
  "other_option": "Other option...",
  "enter_other_option": "Enter other option...",
  "Other": "Other (please specify)",
  "None of the above": "None of the above",
  "press Enter": "press Enter",
  "Follow this pattern to proceed": "Follow this pattern to proceed",
  "your": "your",
  "example": "example",
  "Powered by": "Powered by",
  "Visit QuestionPunk website": "Visit QuestionPunk website",
  "Loading next question...": "Loading next question...",
  "An unexpected error occurred. Please try again.": "An unexpected error occurred. Please try again.",
  "Typing": "Typing",
  "Error": "Error",
  "Select options": "Select options",
  "Time to complete": "Time to complete",
  "Less than a minute": "Less than a minute",
  "min": "min",
  "Min characters": "Min characters",
  "Max characters": "Max characters",
  "Min characters cannot be greater than max characters": "Min characters cannot be greater than max characters",
  "Enter valid url": "Enter a valid URL",
  "Responses are not allowed. Current survey is closed for new responses.": "Responses are not allowed. Current survey is closed for new responses.",
  "The survey isn't configured properly": "The survey isn't configured properly",
  "Survey Mode": "Survey Mode",
  "Mode": "Mode",
  "This survey is not yet open. Please check back later.": "This survey is not yet open. Please check back later.",
  "Clear all": "Clear all",
  "Requires": "Requires",
  "Select": "Select",
  "between": "between",
  "and": "and",
  "at least": "at least",
  "at most": "at most",
  "up to": "up to",
  "exactly": "exactly",
  "response": "response",
  "responses": {
    "previousResponse": "Previous response",
    "nextResponse": "Next response",
    "moreOptions": "More options",
    "details": "Details",
    "delete": "Delete",
    "loading": "Loading responses…",
    "noMatchingResponses": "No matching responses",
    "tryAdjustingFilters": "Try adjusting your filters",
    "clearAllFilters": "Clear all filters",
    "synthetic": "Synthetic",
    "responseDetails": "Response Details",
    "responseEvents": "Response Events",
    "aiSummary": "AI Summary",
    "keyThemes": "Key Themes",
    "sentiment": "Sentiment",
    "markAsFraud": "Mark as Fraud",
    "removeFraudLabel": "Remove Fraud Label",
    "continueLink": {
      "copy": "Copy continue link",
      "copied": "Continue link copied",
      "ready": "Continue link ready",
      "copyFailed": "Could not copy the continue link",
      "reset": "Reset access",
      "resetTitle": "Reset access to this response?",
      "resetDescription": "Anyone using this response now, including the respondent, loses access. Copy a new continue link to let them back in.",
      "resetDone": "Access reset"
    },
    "fraudLabel": "Fraud Status",
    "fraudLabelFraud": "Fraud",
    "fraudLabelNotFraud": "Verified",
    "fraudLabelNone": "Not reviewed",
    "responsesTab": "Responses",
    "timeAnalyticsTab": "Time Analytics",
    "themeTags": {
      "title": "Theme Tags",
      "subheading": "Theme tags",
      "add": "+ Add",
      "cancelAdd": "Cancel",
      "aiTagTooltip": "Coded by {{model}} · {{date}} · click × to remove",
      "humanTagTooltip": "Added manually · {{date}} · click × to remove",
      "removeTag": "Remove theme tag {{name}}",
      "suggested": "Suggested",
      "suggestionTooltip": "AI-suggested — click to add as code"
    },
    "codingRelationship": {
      "aiThemes": "AI-suggested themes",
      "aiThemesHelp": "Summary suggestions. These are not reviewed passage codes.",
      "respondentLabels": "Respondent labels",
      "respondentHelp": "Labels describe this person within the study. Use qualitative coding to link codes to specific words.",
      "answerTags": "Answer theme tags",
      "tagsHelp": "Tags from the survey’s automated theme analysis, saved per answer. They are separate from qualitative coding decisions.",
      "suggestedLabels": "Suggested respondent labels",
      "suggestedHelp": "From the AI summary above. Selecting one adds a respondent label.",
      "openCoding": "Open qualitative coding",
      "suggestionTooltip": "Add this AI summary theme as a respondent label"
    },
    "themes": {
      "title": "Themes",
      "help": "Themes found in this answer; remove one to correct it.",
      "remove": "Remove theme {{name}}"
    }
  },
  "report": {
    "guidedTaskFindings": {
      "title": "Usability findings",
      "subtitle": "How respondents moved through each usability test step, with completion rates and where they got stuck.",
      "taskLabel": "Task {{index}}",
      "respondents": "{{count}} respondents",
      "completion": "{{rate}} completed",
      "reached": "{{count}} reached",
      "stuck": "{{count}} stuck",
      "wrongTurn": "{{count}} wrong turn",
      "manualAdvance": "{{count}} manual",
      "outcomeSuccess": "{{count}} success",
      "outcomePartial": "{{count}} partial",
      "outcomeFailed": "{{count}} failed",
      "outcomeAbandoned": "{{count}} abandoned",
      "averageDuration": "avg {{seconds}}s",
      "warmUpBadge": "Warm-up",
      "warmUpNote": "Practice task — excluded from headline metrics.",
      "navRevisits": "{{count}} revisits",
      "navOscillations": "{{count}} oscillations",
      "navBackNavs": "{{count}} back navs",
      "navCoverage": "navigation from {{count}} respondents",
      "sitesVisited": "Sites visited: {{hosts}}",
      "insightsTitle": "AI-detected pain points",
      "insightsSubtitle": "Synthesized per respondent from the session timeline and video frames; timestamps are exact recording-clock anchors.",
      "insightTypeBottleneck": "bottleneck",
      "insightTypeRepetition": "repetition",
      "insightTypeErrorEncounter": "error",
      "insightTypeConfusion": "confusion",
      "insightTypeAbandonCause": "abandon cause",
      "insightTypeWorkaround": "workaround",
      "insightConfounded": "instrumentation confound — review",
      "insightInferred": "inferred",
      "themesTitle": "Recurring themes",
      "themeRespondents": "{{count}} respondents"
    },
    "sessionPlayer": {
      "title": "Usability test session",
      "play": "Play",
      "pause": "Pause",
      "scrubber": "Seek session",
      "interviewer": "Interviewer",
      "respondent": "Respondent",
      "screenUnavailable": "Screen recording unavailable",
      "noTranscript": "No transcript available.",
      "loadError": "Failed to load session recording.",
      "stepStarted": "Step {{step}} started",
      "stepDone": "Step {{step}} completed",
      "flagStuck": "Flagged: stuck (step {{step}})",
      "flagWrongTurn": "Flagged: wrong turn (step {{step}})",
      "flagsTitle": "Flags",
      "flagsCount_one": "{{count}} flag",
      "flagsCount_other": "{{count}} flags",
      "flagStuckShort": "Stuck",
      "flagWrongTurnShort": "Wrong turn",
      "jumpToFlag": "Jump to flag",
      "tasksLabel": "Tasks",
      "taskLabel": "Task {{number}}",
      "openTaskClip": "Open task {{number}} clip"
    },
    "aiSurveySummary": "AI Survey Summary",
    "aiQuestionInsight": "AI Question Insight",
    "aiEstimated": "(AI-estimated)",
    "aiEstimatedTooltip": "Theme counts are model-estimated without per-response assignments — use the codebook tagging flow for auditable coding.",
    "basedOnResponses": "Based on {{count}} responses",
    "basedOnRecentAnswers": "Based on {{read}} of {{count}} answers (most recent)",
    "basedOnRecentAnswersPartial": "Based on {{read}} of {{count}} answers (most recent; {{partial}} shown in part)",
    "updatedAgo": "Updated {{time}}",
    "noInsightsYet": "No insights available yet",
    "subtab": {
      "report": "Question Breakdown",
      "analysis": "Analysis",
      "audit": "Audit"
    },
    "analysis": {
      "generate": "Generate Analysis",
      "generating": "Generating analysis… This may take up to a minute",
      "executiveSummary": "Executive Summary",
      "inlineGraphs": "Inline Graphs",
      "keyFindings": "Key Findings",
      "questionNarratives": "Question Insights",
      "crossTabInterpretations": "Cross-Tabulation Insights",
      "segmentProfiles": "Respondent Segments",
      "recommendations": "Strategic Recommendations",
      "fraudAssessment": "Data Quality Assessment",
      "methodology": "Methodology",
      "exportAs": "Export as",
      "noData": "No responses yet. Analysis requires completed survey responses.",
      "regenerate": "Regenerate",
      "regenerateNow": "Regenerate now",
      "regeneratingNow": "Regenerating...",
      "generatedAt": "Generated {{time}}",
      "staleReportMessage": "This report may not reflect recent responses.",
      "idleTitle": "AI-powered stakeholder analysis",
      "idleDescription": "Generate a comprehensive analysis with executive summary, key findings, segment profiles, and strategic recommendations.",
      "sidebarEmpty": "Generate an analysis to see sections here",
      "summarySectionsLabel": "Report sections",
      "summaryRecommendationsLabel": "Recommendations",
      "summaryEvidenceLabel": "Evidence quotes",
      "executiveEyebrow": "Executive lens",
      "inlineGraphsEyebrow": "Visual pulse",
      "inlineGraphsDescription": "Quick visual snapshots of participation and question-level engagement for the active report filters.",
      "inlineGraphsLoading": "Preparing inline graph data…",
      "inlineGraphsError": "Inline graph data could not be loaded. Regenerate or refresh the report to retry.",
      "inlineGraphsEmpty": "No graphable data is available for the selected filters.",
      "inlineGraphTotalParticipantsLabel": "Total participants",
      "inlineGraphCompletionRateLabel": "Completion rate",
      "inlineGraphQuestionsVisualizedLabel": "Questions visualized",
      "inlineGraphParticipationTitle": "Participation Breakdown",
      "inlineGraphParticipationSubtitle": "Completed vs. incomplete sessions in this filtered sample.",
      "inlineGraphEngagementTitle": "Question Engagement",
      "inlineGraphEngagementSubtitle": "Responses and skips for the highest-volume questions.",
      "inlineGraphCompletedLabel": "Completed",
      "inlineGraphIncompleteLabel": "Incomplete",
      "inlineGraphResponsesLabel": "Responses",
      "inlineGraphSkippedLabel": "Skipped",
      "inlineGraphCountUnit": "Participants",
      "findingsEyebrow": "Highest-impact observations",
      "narrativesEyebrow": "Question-by-question story",
      "crossTabEyebrow": "Relationship signals",
      "segmentsEyebrow": "Audience profile",
      "recommendationsEyebrow": "Action playbook",
      "qualityEyebrow": "Reliability check",
      "methodologyEyebrow": "How to read this report",
      "recommendationFallbackTitle": "Recommendation {{index}}",
      "recommendationActionLabel": "Action",
      "recommendationRationaleLabel": "Why this matters",
      "recommendationImpactLabel": "Expected impact",
      "recommendationImpactFallback": "Potential improvement expected once this action is implemented and measured.",
      "recommendationsEvidenceTitle": "Supporting evidence",
      "evidenceQuestionLabel": "Question",
      "evidenceOpenResponse": "Open response",
      "evidenceUnavailable": "No quote-level evidence was generated for this recommendation."
    },
    "questions": "Questions",
    "download": "Download",
    "downloading": "Downloading...",
    "pdfExport": {
      "title": "Download PDF",
      "description": "Choose the questions to include. Recordings, uploads, signatures, and concept tests are never included.",
      "close": "Close",
      "selectAll": "Select all",
      "selectedCount": "{{selected}} of {{total}} selected",
      "noQuestions": "None of this survey's questions can be included in the PDF.",
      "cancel": "Cancel",
      "download": "Download PDF"
    },
    "totalParticipants": "Total Participants",
    "completions": "Completions",
    "averageTimeTaken": "Average Time Taken",
    "crossTabulation": "Cross-tabulation Analysis",
    "hideCrossTab": "Hide Cross-tab",
    "showCrossTab": "Show Cross-tab",
    "noMatchingResponses": "No matching responses",
    "noMatchingResponsesDesc": "No responses match the current filters. Try adjusting or clearing your filters.",
    "stillGatheringData": "Still gathering data..",
    "stillGatheringDataDesc": "Once your first responses arrive, there will be a short delay before the data is processed and summarized.",
    "rowVariable": "Row Variable (Question)",
    "columnVariable": "Column Variable (Question)",
    "selectQuestion": "Select a question...",
    "loadingCrossTab": "Loading cross-tabulation data...",
    "noCrossTabData": "No cross-tabulation data available for the selected questions.",
    "highlightCellsAbove": "Highlight cells above",
    "rowTotal": "Row Total",
    "columnTotal": "Column Total",
    "totalRespondents": "Total respondents with answers to both questions: {{count}}",
    "cellsHighlighted": "Cells highlighted in yellow have ≥{{threshold}}% of total responses",
    "noAnswer": "(no answer)",
    "userNumber": "User {{number}}",
    "hideAiAnalysis": "Hide AI Analysis",
    "analyzeWithAi": "Analyze with AI",
    "rowLabel": "Row",
    "colLabel": "Col",
    "totalLabel": "Total"
  },
  "option": "option",
  "options": "options",
  "Create your own survey": "Create your own survey",
  "Please enter a valid phone number": "Please enter a valid phone number",
  "Please enter a valid email": "Please enter a valid email",
  "Drag items from the Options list to the Ranked Items list in your preferred order.": "Drag items from the Options list to the Ranked Items list in your preferred order.",
  "Ranked Items": "Ranked Items",
  "Options": "Options",
  "All items ranked": "All items ranked",
  "Drag items here to rank them": "Drag items here to rank them",
  "Rank exactly {{count}} items": "Rank exactly {{count}} items",
  "Rank between {{min}} and {{max}} items": "Rank between {{min}} and {{max}} items",
  "Rank at least {{count}} items": "Rank at least {{count}} items",
  "Rank up to {{count}} items": "Rank up to {{count}} items",
  "Move up": "Move up",
  "Move down": "Move down",
  "Remove from ranking": "Remove from ranking",
  "Allocate a total of": "Allocate a total of",
  "across the options below": "across the options below",
  "Allocated": "Allocated",
  "Remaining": "Remaining",
  "distributionBuilder": {
    "bins": "Bins",
    "bin": "Bin",
    "addBin": "Add bin",
    "totalBalls": "Total balls",
    "addBall": "Add a ball",
    "removeBall": "Remove a ball",
    "remainingCount": "{{remaining}} of {{total}} left"
  },
  "Total must equal exactly": "Total must equal exactly",
  "Values must be between": "Values must be between",
  "unlimited": "unlimited",
  "Skip": "Skip",
  "Continue": "Continue",
  "consentStatementLabel": "Consent statement",
  "consentAgreeLabel": "Agreement checkbox label",
  "consentReportAgreed": "{{agreed}} of {{total}} agreed",
  "consentReportSignatures": "{{count}} signature(s) collected",
  "(required)": "(required)",
  "Ctrl": "Ctrl",
  "Minimum {{count}} characters": "Minimum {{count}} characters",
  "Switch to voice input": "Switch to voice input",
  "Cancel recording": "Cancel recording",
  "Switch to keyboard input": "Switch to keyboard input",
  "Previous items": "Previous items",
  "Next items": "Next items",
  "Delayed send": "Delayed send",
  "Carry forward choices": "Carry forward choices",
  "Source question": "Source question",
  "Show choices that were": "Show choices that were",
  "Selected": "Selected",
  "Not selected": "Not selected",
  "Anchor options": "Anchor options",
  "Static choices that always appear regardless of carry forward": "Static choices that always appear regardless of carry forward",
  "Anchor option": "Anchor option",
  "Add anchor option": "Add anchor option",
  "seconds": "seconds",
  "team": {
    "requestAccess": "Request Access",
    "teamLabel": "Team {{slug}}",
    "signInRequired": "Please sign in to continue.",
    "autoJoinDenied": "Your email domain is not allowed for auto-join.",
    "joinError": "Unable to join this team right now.",
    "instantJoinTitle": "Join Team",
    "instantJoinDescription": "You can join this workspace instantly with your account.",
    "inviteOnlyDescription": "Request access and a team admin will review your request.",
    "confirmJoinTitle": "Join {{teamName}}?",
    "confirmJoinDescription": "You'll be added to this workspace immediately.",
    "confirmJoinButton": "Join workspace",
    "confirmRequestTitle": "Request access to {{teamName}}?",
    "confirmRequestDescription": "Your request will be sent to team admins for approval.",
    "confirmRequestButton": "Send request",
    "pendingApprovalTitle": "Request sent to {{teamName}}",
    "pendingApprovalDescription": "A team admin needs to approve your access before you can open this workspace.",
    "pendingApprovalNextSteps": "What happens next",
    "pendingApprovalStepReview": "An admin reviews your request.",
    "pendingApprovalStepNotification": "You'll see the team in your dashboard after approval.",
    "pendingApprovalStepUseWorkEmail": "If needed, retry with the work email your team expects.",
    "goToDashboardButton": "Go to dashboard",
    "teamAccessBlockedTitle": "Can’t access this team",
    "teamAccessBlockedDescription": "You don’t currently have access to this team.",
    "joinTeamButton": "Join team",
    "joining": "Joining...",
    "signInButton": "Sign in",
    "fullName": "Full Name",
    "yourName": "Enter your full name",
    "workEmail": "Work Email",
    "emailPlaceholder": "you@company.com",
    "reasonForAccess": "Reason for Access",
    "reasonPlaceholder": "Why do you need access to this team?",
    "requestsReviewed": "Requests are reviewed by team admins",
    "requestAccessButton": "Request Access",
    "joinPendingApproval": "Access request submitted. A team admin will review it before you can join.",
    "teamNotFound": "Team not found",
    "teamNotFoundDescription": "The team you're looking for doesn't exist or has been removed.",
    "loading": "Loading team...",
    "create": {
      "teamName": "Team name*",
      "teamNamePlaceholder": "Name your team",
      "nameValidationError": "Team name must contain at least one letter or number.",
      "teamUrl": "Team URL",
      "checkingSlug": "Checking availability...",
      "slugValidationError": "Enter at least 3 characters, a-z, 0-9, -, _. Cannot start with - or _.",
      "slugUnavailable": "This slug is already taken.",
      "teamColor": "Team color",
      "selectTeamColor": "Select team color {{color}}",
      "descriptionLabel": "Description (Optional)",
      "descriptionPlaceholder": "Enter description here",
      "autoJoinTitle": "Auto Join",
      "autoJoinDescription": "Anyone with this email domain can join instantly. No invite needed.",
      "allowedEmailDomain": "Allowed E-mail Domains",
      "addDomain": "Add domain",
      "removeDomain": "Remove domain",
      "domainInputHint": "Press Enter or comma to add multiple domains.",
      "add": "Add",
      "cancel": "Cancel",
      "createTeam": "Create Team",
      "slugPlaceholder": "team-url",
      "domainPlaceholder": "stanford.edu"
    }
  },
  "breadcrumb": {
    "home": "Home",
    "surveys": "My Surveys",
    "starred": "Starred"
  },
  "teamRole": {
    "viewOnly": "View only",
    "viewOnlyTooltip": "You have view-only access to this team's surveys. Contact the team owner for edit access."
  },
  "teamSettings": {
    "deleteTeam": {
      "title": "Delete team",
      "description": "Deleting this team is permanent. Members lose access to it, and surveys shared with it move back to their owners' personal workspaces.",
      "action": "Delete team",
      "confirmTitle": "Delete this team?",
      "confirmMessage": "\"{{name}}\" will be deleted permanently. Members will lose access, and surveys shared with this team will move back to their owners' personal workspaces.",
      "confirmAction": "Yes, delete team",
      "deleted": "\"{{name}}\" has been deleted.",
      "error": "Unable to delete the team. Please try again."
    },
    "title": "Team Settings",
    "subtitle": "Configure workspace settings and members.",
    "general": "General",
    "generalSubtitle": "Manage your team name, URL, color, and description.",
    "membersLabel": "Members",
    "members": {
      "tabs": {
        "members": "Members",
        "pending": "Pending"
      },
      "inviteViaEmail": "Invite members via Email",
      "emailPlaceholder": "Add comma separated emails to invite",
      "invite": "Invite",
      "invalidEmails": "Invalid email(s): {{emails}}",
      "duplicateEmails": "Already invited or active: {{emails}}",
      "membersWithAccess": "Members with access ({{count}})",
      "pendingInvites": "Pending invites and requests ({{count}})",
      "emptyMembers": "No members yet. Invite teammates to collaborate.",
      "emptyPending": "No pending invites or access requests.",
      "remove": "Remove",
      "revoke": "Revoke",
      "approve": "Approve",
      "deny": "Deny",
      "confirmAction": "Confirm",
      "removeConfirmTitle": "Remove member?",
      "removeConfirmMessage": "This will remove {{email}} from the team.",
      "removeConfirmMessageTeamWide": "This will remove {{email}} from the team entirely — they will lose access to all surveys shared with this team, not just the current one.",
      "revokeConfirmTitle": "Revoke invite?",
      "revokeConfirmMessage": "This will cancel the invite for {{email}}.",
      "denyConfirmTitle": "Deny access request?",
      "denyConfirmMessage": "This will deny the access request for {{email}}.",
      "inviteError": "Failed to send invite. Please try again.",
      "roleUpdateError": "Failed to update role.",
      "removeError": "Failed to remove member.",
      "approveError": "Failed to approve access request."
    },
    "membersSubtitle": "Invite collaborators by email. Access is limited to invited members only.",
    "accessControl": "Access Control",
    "accessControlSubtitle": "Manage invite links and auto-join settings.",
    "teamName": "Team name*",
    "nameYourTeam": "Name your team",
    "nameValidationError": "Team name must contain at least one letter or number.",
    "teamUrl": "Team URL",
    "copyLink": "Copy link",
    "teamColor": "Team color",
    "descriptionOptional": "Description (Optional)",
    "enterDescription": "Enter description here",
    "changesSaved": "Changes saved successfully.",
    "autoJoin": "Auto Join",
    "allowedEmailDomains": "Allowed E-mail Domains",
    "inviteLink": "Invite Link",
    "shareLinkToJoin": "Share this link to let people join directly.",
    "saveChanges": "Save changes",
    "teamUrlDescription": "This will be the link for your team's dashboard.",
    "autoJoinDescription": "Anyone with a matching email domain can join instantly. No invite needed.",
    "copied": "Copied",
    "setTeamUrlToEnableInvite": "Set a team URL in General to enable this invite link.",
    "autoJoinMatchingDomains": "Users with matching domains join instantly. Other users can still request access.",
    "requestAccessForApproval": "Users can request access for admin approval.",
    "addDomainBeforeAutoJoin": "Add at least one email domain before turning Auto Join on.",
    "toggleAutoJoin": "Toggle auto join",
    "copyTeamUrl": "Copy team URL",
    "addDomainToEnable": "Add at least one domain to enable instant joins.",
    "signUpWithDomain": "Any user signing up with an \"@{{domain}}\" email will be able to join this team instantly.",
    "signUpWithDomains": "Any user signing up with one of these email domains will be able to join this team instantly.",
    "addDomainButton": "Add domain",
    "teamDashboardLink": "This will be the link for your team's dashboard.",
    "urlCopied": "Team URL copied to clipboard.",
    "urlCopyFailed": "Unable to copy team URL.",
    "checkingSlug": "Checking slug...",
    "slugValidation": "Enter at least 3 characters, a-z, 0-9, -, _ . Cannot start with - or _.",
    "slugTaken": "This slug is already taken.",
    "saveAccessError": "Unable to save access settings. Please try again.",
    "removeDomain": "Remove domain"
  },
  "subscription": {
    "loading": "Loading subscription plans...",
    "requestSubmitted": "Your request has been submitted.",
    "payMonthly": "Pay Monthly",
    "payYearly": "Pay Yearly",
    "haveMoreQuestions": "Have more questions?",
    "talkToUs": "Talk to us",
    "securePayments": "Secure payments",
    "creditsInfo": "All plans include a monthly AI balance.",
    "creditsBuyMore": "Need more? Add credits anytime — starting at $5.",
    "usagePricingNote": "AI interview usage is billed based on the selected model and actual usage. Survey and question generation are not billed separately.",
    "perInterview": "per AI interview response",
    "perSurveyGen": "per survey generation",
    "perQuestionGen": "per question generation",
    "scalablePlans": "Scalable plans. No hidden fees.",
    "selectPlan": "Select a plan to upgrade and unlock more features.",
    "monthly": "Monthly",
    "yearly": "Yearly",
    "currentPlan": "Current Plan",
    "startTrial": "Start {{days}}-day free trial",
    "trialNote": "Free for {{days}} days, then billed at this price. Cancel anytime.",
    "whatsIncluded": "What's Included",
    "unlimitedSurveys": "Unlimited surveys",
    "customBranding": "Custom branding",
    "advancedAnalytics": "Advanced analytics",
    "enterPromoCode": "Enter promo code",
    "applyPromo": "Apply",
    "promoApplied": "applied",
    "firstMonthFree": "First month free",
    "off": "off",
    "invalidPromoCode": "Invalid or expired promo code",
    "promoAlreadyRedeemed": "You've already redeemed this promo code",
    "promoCodeError": "Could not validate promo code. Please try again.",
    "havePromoCode": "Have a promo code?"
  },
  "payment": {
    "openSettingsMenu": "Open settings menu",
    "subscriptionAndBilling": "Subscription and Billing",
    "invoices": "Invoices",
    "downloadReceipt": "Download receipt",
    "noInvoices": "No invoices",
    "credits": "Credits",
    "buyCredits": "Buy Credits",
    "buyCreditsModal": {
      "title": "Buy credits",
      "subtitle": "Purchase credits to power AI features across your studies.",
      "presetDescription": "Buy {{count}} credits - no expiration.",
      "buyFor": "Buy for {{amount}}",
      "customTitle": "Custom amount (USD)",
      "customDescription": "Purchase exactly the number of credits you need, whenever you need them.",
      "preferredCreditCount": "Preferred credit count",
      "haveQuestions": "Have questions?",
      "talkToUs": "Talk to us",
      "securePayments": "All payments are handled securely through",
      "estimationTitle": "With {{amount}} you can approximately run:",
      "usagePricingTitle": "How credits are used",
      "usagePricingBody": "AI interview usage is billed based on the selected model and actual usage. Survey and question generation are not billed separately.",
      "surveyResponses": "AI interview responses",
      "aiGenerations": "Survey generations",
      "panelMembers": "Question generations",
      "creditsUnit": "Credits",
      "aiBalance": "AI balance"
    },
    "addCardModal": {
      "subtitle": "Enter your card details to add a new payment method.",
      "editTitle": "Edit card details",
      "editSubtitle": "Update your card information.",
      "save": "Save",
      "cardDetails": "Card details",
      "nameOnCard": "Name on card",
      "setAsDefault": "Set as default payment method"
    },
    "cards": {
      "setAsDefault": "Set as Default",
      "edit": "Edit",
      "delete": "Delete"
    },
    "currentPlan": {
      "planLabel": "{{planName}} Plan",
      "monthly": "/month",
      "renews": "Renews {{date}}",
      "upgradePlan": "Upgrade plan",
      "unsubscribe": "Unsubscribe",
      "monthlyResponsesLimit": "Monthly responses",
      "of": "of",
      "upgradeAnytime": "You are on {{planName}}. Upgrade anytime.",
      "planPrice": "{{planName}} {{price}}/month",
      "responseUsage": "Response Usage",
      "responsesUsed": "{{current}} of {{total}} responses used",
      "resetsIn": "Resets in {{days}} days",
      "resetsToday": "Resets today",
      "learnMoreUsageLimits": "about usage limits in the {{planName}} tier.",
      "usageBreakdown": "Usage Breakdown"
    },
    "monthlyPlan": "Monthly Plan",
    "purchasedCredits": "Purchased",
    "resetsDate": "Resets {{date}}",
    "neverExpires": "Never expires",
    "overdraftLimit": "Overdraft: -{{amount}} / -{{limit}} limit",
    "gracePeriodWarning": "Your balance is negative. AI interviews will pause on {{date}} unless you add credits.",
    "usageHistory": "Usage History",
    "noTransactionsFound": "No transactions found.",
    "prev": "Prev",
    "next": "Next",
    "filterAll": "All",
    "filterAI": "AI",
    "filterReviews": "Reviews",
    "filterProlific": "Prolific",
    "filterTopUps": "Credit purchases",
    "filterMonthly": "Monthly",
    "typeAIInterview": "AI Interview",
    "typeAIReview": "AI Review",
    "typeProlific": "Prolific",
    "typeTopUp": "Credit purchase",
    "typeMonthlyAllocation": "Monthly Allocation",
    "typePPTGeneration": "PPT Generation",
    "typeSyntheticResponse": "Synthetic Response",
    "typeAIAudioInterview": "AI Audio Interview",
    "addCredits": "+ Add Credits",
    "creditConsumptionTooltip": "Total credits consumed by this survey",
    "editorCreditBalance": "AI balance",
    "bannerPaused": "AI interviews are paused due to insufficient credits.",
    "bannerLowCredits": "Low credits — {{amount}} remaining.",
    "notEnoughFundsTitle": "Not enough funds",
    "notEnoughFundsDescription": "You do not have enough funds in your account to complete this action.",
    "notEnoughFundsFeatureDescription": "You do not have enough funds to use {{feature}}.",
    "notEnoughFundsCurrentBalance": "Current balance",
    "notEnoughFundsEstimatedCost": "Estimated cost",
    "aiPaused": "AI Paused",
    "creditsBalanceTitle": "AI Credits balance",
    "subscriptionAndBillingSubtitle": "Manage your plan, view usage details, and access invoice history.",
    "yourCurrentPlan": "Your current plan",
    "creditBalanceLabel": "Your credit balance.",
    "remaining": "remaining",
    "paymentMethods": "Payment methods",
    "addPaymentMethod": "Add Payment Method",
    "noPaymentMethods": "No payment methods added yet.",
    "expires": "Expires {{date}}",
    "invoiceHistory": "Invoice history",
    "viewAll": "View All",
    "date": "Date",
    "invoiceNumber": "Invoice Number",
    "amount": "Amount",
    "status": "Status",
    "latestRecordsNote": "Only the latest 3 records are shown. View all for more.",
    "paid": "Paid",
    "failed": "Failed",
    "invoiceHistoryModal": {
      "title": "Invoice History",
      "subtitle": "View all your invoices and payment history."
    },
    "creditHistory": {
      "title": "Credit history",
      "type": "Type",
      "date": "Date",
      "credit": "Credit",
      "latestNote": "Only the latest 3 records are shown. View all for more.",
      "noTransactions": "No credit transactions",
      "typeLabel": {
        "top_up": "Credit purchase",
        "monthly_allocation": "Monthly Credits",
        "ai_interview": "AI Interview",
        "ai_review": "AI Review",
        "prolific_study": "Prolific Study"
      }
    },
    "creditHistoryModal": {
      "title": "Credit History",
      "subtitle": "View all your credit transactions."
    },
    "successBanner": "Payment successful! Your credits balance has been updated.",
    "learnMore": "Learn more",
    "usageBreakdown": {
      "title": "AI Usage Breakdown",
      "subtitle": "A detailed look at your token consumption",
      "loading": "Loading...",
      "totalRequests": "Total Requests",
      "tokensProcessed": "Tokens Processed",
      "breakdown": "Breakdown",
      "activityType": "Activity type",
      "numberOfRequests": "No: of Requests",
      "inputTokens": "Input Tokens",
      "outputTokens": "Output Tokens",
      "noData": "No AI usage data yet.",
      "requestsLabel": "Requests",
      "requestsInfo": "Number of API calls made",
      "inputTokensLabel": "Input Tokens",
      "inputTokensInfo": "Tokens sent to the AI",
      "outputTokensLabel": "Output Tokens",
      "outputTokensInfo": "Tokens generated by AI"
    },
    "upgradePlanModal": {
      "title": "Scalable plans. No hidden fees.",
      "subtitle": "Select a plan to upgrade and unlock more features.",
      "payMonthly": "Pay Monthly",
      "payYearly": "Pay Yearly",
      "savePercent": "Save 20%",
      "currentPlan": "Current Plan",
      "choosePlan": "Choose plan",
      "upgrade": "Upgrade",
      "buyCredits": "Buy Credits",
      "whatsIncluded": "What's Included",
      "perMonth": "/month",
      "inclVat": "(incl. VAT)",
      "cancelSubscription": "Cancel subscription",
      "haveQuestions": "Have more questions?",
      "talkToUs": "Talk to us",
      "securePayments": "All payments are handled securely through",
      "aiCreditsTitle": "AI Credits",
      "aiCreditsDescription": "Purchase credits separately from your plan, whenever you need.",
      "fromPrice": "From {{price}}"
    },
    "addPaymentMethodTitle": "Add payment method",
    "cardInformation": "Card information",
    "cardholderName": "Cardholder name",
    "setAsDefaultMethod": "Set as default method",
    "cancel": "Cancel",
    "expiresShort": "Expires {{month}}/{{year}}",
    "setAsDefault": "Set as Default",
    "edit": "Edit",
    "deleteCardConfirm": "Are you sure you want to delete your card? This can not be undone.",
    "activeSubscriptionError": "You have active subscription. Cancel Subscription first",
    "cardRemoved": "The card was removed successfully",
    "cardAdded": "The new card was added successfully",
    "cardUpdated": "The card was updated successfully",
    "namePlaceholder": "Name",
    "amount_range": "Between {{min}} and {{max}}",
    "amount_too_high": "Maximum amount is {{max}}",
    "amount_too_low": "Minimum amount is {{min}}",
    "confirm": "Confirm Payment",
    "enter_amount": "Enter amount",
    "invalid_amount": "Please enter a valid amount",
    "replaceCard": "Replace",
    "secure_note": "Payment details collected securely",
    "total": "Total"
  },
  "aiInterview": {
    "referenceSources": {
      "title": "Context from previous answers",
      "description": "Pull insights from questions in this or other surveys so the AI grounds its questions in what respondents have already shared.",
      "rowLabel": "Context from previous answers",
      "rowSelectedCount_one": "{{count}} question selected",
      "rowSelectedCount_other": "{{count}} questions selected",
      "rowEmpty": "No answers selected",
      "configure": "Configure",
      "searchQuestions": "Search questions...",
      "searchSurveys": "Search surveys...",
      "noQuestionsAvailable": "No questions available",
      "thisSurvey": "This survey",
      "otherSurveys": "Other surveys",
      "apply": "Apply",
      "cancel": "Cancel"
    },
    "aiFailureBehaviorLabel": "When this question can't be answered",
    "aiFailureBehaviorLabelDescription": "Choose what happens if the AI is unable to generate a question — this may occur due to AI failures or insufficient credits.",
    "costEstimate": "~$0.15 per response",
    "costEstimateDynamic": "{{cost}}/response",
    "costEstimateFree": "Free per response",
    "confirm": "Confirm",
    "statusDraft": "Draft",
    "statusPublished": "Published",
    "statusUnpublished": "Unpublished",
    "statusArchived": "Archived",
    "notUsedInAnySurveys": "Not used in any surveys.",
    "currentlyUsedIn": "Currently used in:",
    "archiveConfirmMessage": "Are you sure you want to archive \"{{name}}\"? It will no longer be available for selection.",
    "usageLoadFailed": "Unable to load usage information. The personality may be in use.",
    "deleteConfirmMessage": "Are you sure you want to permanently delete \"{{name}}\"? This action cannot be undone.",
    "nameRequired": "Name is required.",
    "descriptionRequired": "Description is required.",
    "promptRequired": "Prompt is required.",
    "fillAllRequiredFields": "Please fill in all required fields.",
    "maxExampleQuestions": "Maximum of 10 example questions allowed.",
    "thisPersonality": "this personality",
    "archivePersonalityTitle": "Archive Personality",
    "archive": "Archive",
    "deletePersonalityTitle": "Delete Personality",
    "deletePermanently": "Delete permanently",
    "questionMustOccurBefore": "The selected question must occur before this AI interview item.",
    "setGoalTitle": "Set your interview goal",
    "setGoalDescription": "What topic should the AI explore with the respondent?",
    "followUpQuestionsTitle": "Follow-up questions",
    "followUpQuestionsDescription": "How many AI-generated follow-up questions to ask.",
    "personality": "Personality",
    "createNewPersonality": "Create new personality",
    "hidePersonalityManager": "Hide personality manager",
    "manageCustomPersonalities": "Manage custom personalities",
    "viewAiPrompts": "View AI prompts",
    "aiModel": "AI Model",
    "thinkingSpeed": "Thinking speed",
    "howAiGeneratesQuestions": "How the AI generates follow-up questions",
    "slowLabel": "Slow",
    "slowTooltipDescription": "Generates multiple candidates, grades them, and picks the best one. Higher quality but slower.",
    "fastLabel": "Fast",
    "fastTooltipDescription": "Generates one question directly. Faster and more responsive.",
    "slowThinking": "Slow thinking",
    "multiStepGeneration": "Multi-step generation",
    "generateFiveCandidates": "Generate 5 candidate questions",
    "gradeEachUsingCriteria": "Grade each using personality-specific criteria",
    "selectHighestRanked": "Select the highest-ranked question",
    "bestForImportantInterviews": "Best for important interviews where question quality matters most.",
    "fastThinking": "Fast thinking",
    "singleStepGeneration": "Single-step generation",
    "generateOneDirectly": "Generate one question directly from context",
    "bestForSurveysResponsiveness": "Best for surveys where responsiveness matters most.",
    "chooseReferencedQuestion": "Referenced questions",
    "referencedQuestionDescription": "Select previous questions whose answers the AI should consider when generating follow-ups.",
    "selectAll": "Select all",
    "promptConfiguration": "Prompt Configuration",
    "standard": "Standard",
    "customPrompt": "Custom Prompt",
    "standardModeInfo": "Your prompt is built automatically from personality and settings below.",
    "customModeWarning": "Custom prompt mode. Goal, personality and thinking speed settings are ignored.",
    "editCustomPrompt": "Edit Custom Prompt",
    "configureCustomPrompt": "Configure Custom Prompt",
    "customPromptConfigured": "Custom prompt configured",
    "avoidTopics": "Avoid Topics",
    "avoidTopicsDescription": "List topics the AI interviewer should not ask about.",
    "avoidTopicsPlaceholder": "e.g. salary, personal health, political opinions",
    "switchToStandardTitle": "Switch to Standard Mode",
    "switchToStandardMessage": "Switching to standard mode will remove your custom prompt changes. The prompt will be built automatically from personality and goal settings instead.",
    "switchToStandard": "Switch to Standard",
    "setGoalForInterviewer": "Set a Goal for the AI Interviewer",
    "setGoalKeywordsDescription": "Describe your survey topic or provide keywords to guide the AI interviewer.",
    "ignoredInCustomMode": "Ignored in custom mode",
    "chooseReferencedQuestions": "Choose Referenced Questions",
    "configureSources": "Configure Sources",
    "cancel": "Cancel",
    "apply": "Apply",
    "stoppingGuidanceHelper": "When should the AI stop?",
    "stoppingGuidancePlaceholder": "e.g. Stop when the participant has shared their main concerns and no new themes are emerging",
    "referenceSourcesDescription": "Configure what data the AI can reference when asking follow-up questions",
    "thisSurvey": "This Survey",
    "thisSurveyInsightsDescription": "Include AI-generated insights from questions in this survey as context for the interviewer.",
    "otherAnsweredSurveys": "Other Answered Surveys",
    "otherSurveysInsightsDescription": "Include AI-generated insights from other completed surveys as additional context for the interviewer.",
    "allQuestions": "All questions",
    "selectedQuestions": "Selected questions only",
    "noQuestionsAvailable": "No questions available to reference",
    "responses": "responses",
    "questions": "questions",
    "addASurvey": "Add a survey",
    "selectASurvey": "Select a survey...",
    "add": "Add",
    "addSurvey": "Add Survey",
    "noSurveysAvailable": "No other surveys available to reference",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "noSourcesConfigured": "No sources configured",
    "sourcesConfigured": "{{count}} source(s) configured",
    "close": "Close",
    "showContinueButton": "Show Continue Button",
    "pauseSurvey": "Pause survey",
    "skipToNextQuestion": "Skip to next question"
  },
  "textQuestion": {
    "aiFollowUpTitle": "AI Follow-Up Questions",
    "aiFollowUpDescription": "After the respondent answers this question, AI will generate contextual follow-up questions to explore their response deeper.",
    "aiFollowUpGoalLabel": "Follow-up goal",
    "aiFollowUpGoalDescription": "What should the AI probe deeper about based on the respondent's answer?",
    "aiFollowUpGoalPlaceholder": "Example: Understand the specific pain points, their frequency and impact, and potential solutions they've considered",
    "configure": "Configure",
    "fixedCount": "Fixed Count",
    "timeBased": "Time-Based",
    "aiDecides": "AI Decides",
    "count": "Count",
    "range": "Range",
    "duration": "Duration",
    "nSelected": "{{count}} selected",
    "responseQuality": "Response quality",
    "quickSingleStep": "Quick, single-step generation",
    "multiStepBestResult": "Multi-step, picks the best result",
    "slowThinking": "Slow thinking",
    "fastThinking": "Fast thinking",
    "saveSettings": "Save Settings",
    "inputModeLabel": "Input mode",
    "inputModeDefault": "Default"
  },
  "testTab": {
    "loadingTestTab": "Loading test tab…",
    "heading": "Test with Synthetic Users",
    "description": "Create AI personas and run them through your survey.",
    "personas": "Personas",
    "runHistory": "Run History",
    "noTestRuns": "No test runs yet. Select personas and start a run to see results here.",
    "deletePersonaTitle": "Delete Persona",
    "deletePersonaNamed": "Are you sure you want to delete \"{{name}}\"?",
    "deletePersonaUnnamed": "Are you sure you want to delete this persona?",
    "cancel": "Cancel",
    "delete": "Delete",
    "addPersona": "Add Persona",
    "editPersona": "Edit Persona",
    "saveChanges": "Save Changes",
    "createPersona": "Create Persona",
    "createFirstPersona": "Create Your First Persona",
    "searchPersonas": "Search personas...",
    "addExample": "Add Example",
    "name": "Name",
    "namePlaceholder": "e.g., Budget-Conscious Parent",
    "descriptionLabel": "Description",
    "descriptionPlaceholder": "Brief description of this persona...",
    "demographics": "Demographics",
    "age": "Age",
    "agePlaceholder": "e.g., 30-45",
    "gender": "Gender",
    "genderPlaceholder": "e.g., Any",
    "location": "Location",
    "occupation": "Occupation",
    "personalityTraits": "Personality Traits",
    "addTrait": "Add a trait...",
    "add": "Add",
    "exampleQA": "Example Q&A",
    "removeExample": "Remove example {{index}}",
    "question": "Question",
    "questionPlaceholder": "What matters most when choosing a product?",
    "answer": "Answer",
    "answerPlaceholder": "How this persona would respond...",
    "contextNotes": "Context Notes",
    "contextNotesPlaceholder": "Additional context for the AI to consider when generating responses...",
    "editAction": "Edit",
    "deleteAction": "Delete",
    "testWithPersonas": "Test Your Survey with AI Personas",
    "testWithPersonasDesc": "Create realistic user personas and see how they would respond to your survey before sending it to real people.",
    "selectPersonas": "Select personas",
    "runTest": "Run test",
    "runTestWith": "Run Test with {{count}} Persona",
    "runTestWithPlural": "Run Test with {{count}} Personas",
    "selectPersonasToRun": "Select personas to run test",
    "language": "Language:",
    "checkBoxesBelow": "Check the boxes below to select personas",
    "noPersonasMatch": "No personas match “{{filter}}”",
    "deselectAll": "Deselect all",
    "selectAll": "Select all",
    "clear": "Clear",
    "describeTargetUser": "Describe your target user",
    "describeTargetUserHint": "Include demographics, behaviors, goals, or pain points to generate a realistic persona.",
    "generating": "Generating...",
    "generatePersona": "Generate Persona",
    "descriptionMinLength": "Description must be at least {{min}} characters",
    "aiGenerate": "AI Generate",
    "manual": "Manual",
    "qAndA": "Q&A",
    "testWithAIPersonas": "Test Your Survey with AI Personas",
    "testWithAIPersonasDescription": "Create realistic user personas and see how they would respond to your survey before sending it to real people.",
    "checkBoxesToSelect": "← Check the boxes below to select personas",
    "chatWithPersona": "Chat with {{name}}",
    "chatPlaceholder": "Type a message...",
    "chatSend": "Send",
    "chatNewSession": "New Chat",
    "chatNoMessages": "Start a conversation with this persona",
    "chatAction": "Chat",
    "chatSessions": "Previous chats",
    "chatDeleteSession": "Delete chat",
    "runConfig": "Run Configuration",
    "modelPicker": "Models",
    "startRun": "Start Run",
    "estimatedTime": "Estimated time",
    "advanced": "Advanced",
    "realismControls": "Realism Controls",
    "crossCuttingInjection": "Add cross-cutting notes",
    "crossCuttingDescription": "Build a runtime note from persona traits so answers can include realistic tradeoffs instead of one-axis stereotypes.",
    "responsesCount": "This will create {{count}} responses ({{personas}} personas × {{models}} models)",
    "library": "Library",
    "datasets": "Datasets",
    "quickTemplates": "Quick Templates",
    "addSelected": "Add Selected to Survey",
    "addAll": "Add All {{count}} Profiles",
    "addRandomSample": "Add Random Sample of {{count}}",
    "stratifiedSampling": "Stratified by demographics to match population",
    "additionalAttributes": "Additional Attributes",
    "addAttribute": "Add Attribute",
    "attributeKey": "Attribute Name",
    "attributeValue": "Value",
    "removeAttribute": "Remove",
    "noiseLevel": "Noise Level",
    "noiseLevelTooltip": "Controls how much demographic information is randomly withheld from the AI when generating responses. Higher noise reduces stereotypical over-determination — the tendency for AI to produce overly predictable answers based on demographics. None: full persona details. Light: omit 1 field. Moderate: omit 2 fields + cross-cutting note. Heavy: omit 3 fields + cross-cutting note.",
    "noiseLevelNone": "None",
    "noiseLevelLow": "Light",
    "noiseLevelMedium": "Moderate",
    "noiseLevelHigh": "Heavy",
    "modelsCount": "{{count}} models",
    "noiseTag": "Noise: {{level}}",
    "crossCuttingTag": "Cross-cutting",
    "multiTemperature": "Multi-temperature sampling",
    "multiTemperatureDescription": "Vary temperature across personas (0.8/1.0/1.3) to simulate natural decisiveness variation. Disabled for models that don't support it.",
    "verbalizedSampling": "Text diversity (verbalized sampling)",
    "verbalizedSamplingDescription": "Generate multiple candidate responses for open-ended questions and select the most diverse. Uses 3× more LLM calls for text questions.",
    "quotaSampling": "Diverse responses",
    "quotaSamplingDescription": "AI estimates how each persona would answer multiple-choice questions, then randomly samples from those probabilities for more realistic, varied responses.",
    "targetMarginals": "Target marginals",
    "targetMarginalsDescription": "Override the natural response distribution for multiple-choice questions with your own target percentages (e.g., from census data).",
    "viewAuditLink": "View Audit"
  },
  "syntheticRuns": {
    "noRunsYet": "No synthetic runs yet.",
    "statusPending": "Pending",
    "statusRunning": "Running",
    "statusCompleted": "Completed",
    "statusFailed": "Failed",
    "statusInterrupted": "Interrupted",
    "qualityExcellent": "Excellent",
    "qualityGood": "Good",
    "qualityModerate": "Moderate",
    "qualityPoor": "Needs Improvement",
    "started": "Started: {{time}}",
    "ended": "Ended: {{time}}",
    "personaCount": "{{count}} persona",
    "personaCount_other": "{{count}} personas",
    "completedCount": "{{count}} completed",
    "failedCount": "{{count}} failed",
    "quality": "Quality:",
    "pve1Label": "PVE1:",
    "pve1Tooltip": "Proportion of variance explained by first principal component. Lower = more diverse, human-like responses.",
    "corrQ50Label": "Corr Q50:",
    "corrQ50Tooltip": "Median absolute pairwise correlation between questions.",
    "corrQ95Label": "Corr Q95:",
    "corrQ95Tooltip": "95th percentile absolute pairwise correlation.",
    "ttrLabel": "TTR:",
    "ttrTooltip": "Average type-token ratio for text responses. Higher = more diverse vocabulary.",
    "mcQuestionCount": "{{count}} MC questions"
  },
  "streamingPreview": {
    "preview": "Preview",
    "demoText": "The quick brown fox jumps over the lazy dog on a sunny afternoon."
  },
  "aiModeratedInterview": {
    "setup": {
      "formatLabel": "How should it be conducted?",
      "formatText": "Text chat",
      "formatVoice": "Voice",
      "formatTextHelp": "The AI asks its questions in writing and the participant types their answers.",
      "formatVoiceHelp": "The AI speaks its questions aloud and the participant answers out loud, like a real interview.",
      "formatTextBestFor": "reach — anyone can take part, on the device they already have. And for topics people would rather type than say out loud.",
      "formatVoiceBestFor": "depth — you hear hesitation, tone and stories people never type. Fewer responses, richer ones.",
      "formatTextNeeds": "Any device",
      "formatVoiceNeeds": "Needs a microphone",
      "bestFor": "Best for",
      "starterLabel": "Or start from",
      "starterChurn": "Why they left",
      "starterChurnValue": "why they stopped using it, and what might have kept them",
      "starterOnboarding": "First experience",
      "starterOnboardingValue": "their first week with the product, and where they got stuck",
      "starterPricing": "Pricing",
      "starterPricingValue": "how they think about what it costs, and what would feel worth paying for",
      "starterNeeds": "Unmet needs",
      "starterNeedsValue": "the workarounds they rely on today, and what they wish existed",
      "stepGoal": "Goal",
      "stepFormat": "How it runs",
      "next": "Continue",
      "back": "Back",
      "goalLabel": "What do you want to learn?",
      "goalPlaceholder": "their onboarding experience, and what made them give up",
      "goalHelper": "Everything else is set up for you — you can fine-tune it afterwards.",
      "skip": "Set it up manually",
      "confirm": "Set it up",
      "close": "Close"
    },
    "advanced": {
      "fast": "Fast",
      "slow": "Slow",
      "sumNoRecording": "not recorded",
      "recVideo": "Video",
      "recAudio": "Audio",
      "sumScreenShare": "screen share",
      "sumTranscriptOn": "transcript",
      "sumTranscriptOff": "no transcript",
      "sumAvatar": "avatar",
      "sumImages": "images",
      "sumDelayed": "{{count}}s delay",
      "sumNoEnd": "cannot end early",
      "sumCanEnd": "can end early",
      "sumTextFallback": "text fallback",
      "groupModel": "AI model",
      "model": "AI model",
      "modelHint": "Chooses which AI generates questions",
      "backup": "Backup model",
      "backupHint": "Used if the primary model is unavailable",
      "quality": "Response quality",
      "qualityFast": "Single-step, faster",
      "qualitySlow": "Multi-step, best result",
      "lowLatency": "Ultra-low latency",
      "lowLatencyHint": "One model, near-instant replies. Fewer languages, and no voice choice",
      "prompt": "Advanced prompt",
      "promptCustom": "Manual edits override the guided settings",
      "promptStandard": "Inspect or override the generated interviewer instructions",
      "promptEdit": "Edit",
      "promptConfigure": "Configure",
      "groupOnScreen": "During the interview",
      "liveTranscript": "Live transcript",
      "liveTranscriptHint": "Show the conversation on screen as it happens",
      "transcriptShowUser": "Show their words",
      "transcriptShowUserHint": "Include the participant’s own speech, not just the AI’s",
      "scrollback": "Allow scrollback",
      "scrollbackHint": "Keep history on screen so they can re-read earlier lines",
      "avatar": "Virtual avatar",
      "avatarHint": "Show a video presenter instead of audio only",
      "groupSpeech": "Speech models",
      "stt": "Speech to text",
      "sttHint": "Transcribes what the participant says. The language is set with the voice.",
      "tts": "Text to speech",
      "ttsHint": "Speaks the questions. Changing it changes which voices are offered.",
      "groupCapture": "Recording",
      "recording": "Recording",
      "recordingHint": "What is captured and stored",
      "recNone": "None",
      "screenShare": "Screen share",
      "screenShareHint": "Ask the participant to share their screen",
      "screenShareRequired": "Screen share required",
      "screenShareRequiredHint": "Off lets them decline and continue voice-only",
      "groupSession": "Session controls",
      "endSession": "End session button",
      "endSessionHint": "When the participant may end the interview",
      "endAlways": "Always",
      "endAi": "AI decides",
      "endOff": "Off",
      "wrapUp": "Wrap-up before time limit",
      "wrapUpHint": "When to stop opening new topics and close out"
    },
    "sentence": {
      "languageLabel": "Interview language",
      "languageSearch": "Search…",
      "languageHint": "Changing it picks the best voice for that language",
      "followLanguage": "Use the respondent's selected language",
      "interviewerFallback": "The interviewer",
      "lengthTime": "{{count}}-minute session",
      "lengthAi": "as many questions as it needs",
      "formatVoiceClause": "by voice",
      "formatTextClause": "by chat",
      "styleDefault": "adapting to each answer",
      "styleCustom": "a custom style",
      "greetingSkipped": "straight into the first question",
      "greetingEmpty": "a greeting",
      "goalBlank": "what?",
      "structureFree": "as a free conversation",
      "voiceNamed": "{{name}}{{suffix}} voice",
      "voiceDefault": "the default voice",
      "templateText": "{{who}} will ask {{length}} {{format}} about {{goal}}, {{style}}, referring to {{context}}.",
      "field": {
        "interviewer": "Interviewer",
        "length": "Length",
        "format": "Format",
        "voiceField": "Voice",
        "goalField": "Goal",
        "greetingField": "Opening",
        "styleField": "Interview style",
        "structure": "Discussion guide",
        "contextField": "What it can refer to"
      },
      "whoTitle": "Who runs the interview?",
      "whoAria": "Interviewer: {{value}}. Edit.",
      "lengthTitle": "How long should it run?",
      "lengthAria": "Interview length: {{value}}. Edit.",
      "formatTitle": "How is it conducted?",
      "formatAria": "Interview format: {{value}}. Edit.",
      "voiceTitle": "Which voice?",
      "voiceSubtitle": "Press play to hear each one. Only voices that speak the interview language are listed.",
      "voiceAria": "Voice: {{value}}. Edit.",
      "goalAria": "Interview goal: {{value}}. Edit.",
      "goalAriaBlank": "Interview goal not set. Set it.",
      "greetingTitle": "How does it open?",
      "greetingAria": "Opening: {{value}}. Edit.",
      "styleTitle": "How should it interview?",
      "styleAria": "Interviewer style: {{value}}. Edit.",
      "structureTitle": "How is it structured?",
      "structureAria": "Interview structure: {{value}}. Edit.",
      "editHint": "Click any highlighted part of the sentence to change it.",
      "whoLoading": "Loading interviewers…",
      "behaviourSelected": "Selected",
      "skipIntroLabel": "Skip the greeting",
      "skipIntroHint": "Open straight with the first question.",
      "greetingLabel": "Greeting",
      "greetingPlaceholder": "Hi, thanks for taking the time to talk with me today.",
      "verbatimLabel": "Speak it word-for-word",
      "verbatimHint": "Off: the AI phrases the opening from this as guidance.",
      "interruptLabel": "Allow interruption",
      "interruptHint": "Let the participant talk over the opening.",
      "interviewType": "Interview type",
      "typeFree": "Free conversation",
      "typeGuide": "Topic guide",
      "editTopics": "Edit topics",
      "scoringLabel": "Response scoring",
      "scoringHint": "Score the transcript against criteria after the interview.",
      "editCriteria": "Edit criteria",
      "avoidLabel": "Topics to avoid",
      "avoidHelper": "The interviewer will not raise these, and will move on if the participant does.",
      "avoidPlaceholder": "e.g. Competitor pricing, personal salary information",
      "close": "Close",
      "done": "Done",
      "contextNone": "nothing they said earlier",
      "contextAll": "everything they said earlier",
      "contextTitle": "What can it refer back to?",
      "contextAria": "Context to refer to: {{value}}. Edit.",
      "contextPriorWaves": "what they said in earlier check-ins",
      "contextWithPriorWaves": "{{sameSession}} and what they said in earlier check-ins",
      "switchLanguage": "Switch languages if the respondent does",
      "switchLanguageHint": "When they change language mid-interview, the interviewer follows them. When off, it understands them but keeps replying in {{language}}. Needs the multilingual transcription option."
    },
    "custom": {
      "subtitleEmpty": "Standard behaviour — nothing customised yet",
      "subtitlePrefix": "It will",
      "notSet": "Not set",
      "standard": "Standard",
      "title": "Custom behaviour",
      "noRules": "Nothing changed from standard",
      "done": "Done",
      "groupHint": "Advanced prompt edits still override these."
    },
    "sentenceLoading": "Setting up your interview…"
  },
  "aiAudioInterview": {
    "agentInstruction": "Agent Instruction",
    "agentInstructionDescription": "Provide instructions that guide how the AI agent should conduct the interview",
    "greetingMessage": "Greeting Message",
    "greetingMessageDescription": "The message the AI agent will use to greet respondents at the start of the interview",
    "sessionMode": "Session Mode",
    "sessionModeDescription": "Choose between pipeline or realtime processing for the interview session",
    "sessionType": "Session Type",
    "sessionTimeout": "Session Timeout",
    "pipeline": "Pipeline",
    "realtime": "Realtime",
    "speechToText": "Speech to Text",
    "sttDescription": "Configure how audio is converted to text",
    "sttModel": "STT Model",
    "sttLanguage": "Language",
    "conversationModel": "Conversation model",
    "llmDescription": "Decides what the interviewer asks next. Faster models keep the conversation snappy; stronger models follow a long discussion guide more closely.",
    "textToSpeech": "Text to Speech",
    "ttsDescription": "Configure how text responses are converted to audio",
    "ttsModel": "TTS Model",
    "ttsVoice": "Voice",
    "realtimeModel": "Realtime Model",
    "realtimeDescription": "Configure realtime model settings for the interview session",
    "realtimeProvider": "Provider",
    "recording": "Recording",
    "recordingDescription": "Choose whether to record audio, video, or neither during the interview",
    "recordingMode": "Recording Mode",
    "recordingNone": "No Recording",
    "recordingAudio": "Audio Only",
    "recordingVideo": "Video and Audio",
    "sessionTimeoutMinutes": "Minutes",
    "sessionTimeoutSeconds": "Seconds",
    "sessionTimeoutLabel": "Session Timeout",
    "sessionTimeoutHelper": "How long the interview can last (1:00 - 10:00)",
    "recommendedModels": "Recommended",
    "showAllModels": "Show all models",
    "hideModels": "Show fewer",
    "defaultTag": "Default",
    "pipelineTitle": "Voice Pipeline",
    "pipelineCardDescription": "Separate speech-to-text, AI, and text-to-speech models. More voice options and control. Slightly higher latency.",
    "realtimeTitle": "Multimodal (Realtime)",
    "realtimeCardDescription": "Single AI model handles audio directly. Lower latency and more natural conversation. Fewer voice options.",
    "realtimeProOnly": "Available on Pro and Enterprise plans. Upgrade to unlock realtime audio interviews.",
    "recommended": "Recommended",
    "promptConfiguration": "Prompt Configuration",
    "standard": "Standard",
    "customPrompt": "Custom",
    "standardModeInfo": "Using default voice AI interviewer settings. Set your interview goal and topics to avoid below.",
    "interviewGoal": "Interview Goal",
    "interviewGoalDescription": "What is this interview about? The AI will focus its questions around this goal.",
    "interviewGoalPlaceholder": "e.g., Understand user experiences with remote work tools and their impact on productivity",
    "avoidTopics": "Topics to Avoid",
    "avoidTopicsDescription": "Topics the AI should not ask about or discuss during the interview.",
    "avoidTopicsPlaceholder": "e.g., Competitor pricing, personal salary information, proprietary business strategies",
    "customModeWarning": "In custom mode, you can edit CONTEXT, append OBJECTIVES, GUIDELINES, and ETHICS.",
    "editCustomPrompt": "Edit Prompt Sections",
    "configureCustomPrompt": "Configure Prompt Sections",
    "customPromptConfigured": "Custom prompt configured",
    "switchToStandardWarning": "Switching to Standard mode will clear your custom prompt edits. Continue?",
    "costEstimate": "{{costPerMin}}/min · up to {{totalCost}} per response ({{minutes}} min max)",
    "costEstimateSession": "{{costPerMin}}/min · up to {{totalCost}} per response ({{minutes}}-min session)",
    "costEstimateAdjustable": "{{costPerMin}}/min · {{exampleCost}} for a {{exampleMinutes}}-minute interview",
    "interviewLanguage": "Interview Language",
    "interviewLanguageDescription": "Select the language your respondents will speak. Models and voices will be filtered to match.",
    "sttLanguageVariant": "Language Variant",
    "virtualAvatar": "Virtual Avatar",
    "virtualAvatarDescription": "Choose an avatar face for the AI interviewer.",
    "showContinueButton": "Show Continue Button",
    "sttKeyterms": "Speech Recognition Keywords",
    "sttKeytermsDescription": "Comma-separated terms to improve transcription accuracy (e.g., brand names, technical terms)",
    "showContinueButtonDescription": "Useful for embedded surveys to prevent the AI interview from auto-starting when the page loads"
  },
  "prolific": {
    "createPanel": "Create Study Panel",
    "createPanelDescription": "Create a Prolific study with specific participant criteria",
    "basicConfiguration": "Basic Configuration",
    "participantLocation": "Participant Location",
    "additionalDemographics": "Additional Demographics",
    "titleAndDescription": "Title and Description",
    "titleAndDescriptionHint": "Provide a compelling title and description for your study",
    "title": "Title",
    "titleRequired": "Title is required",
    "titlePlaceholder": "Enter study title",
    "generate": "Generate",
    "generating": "Generating…",
    "description": "Description",
    "descriptionRequired": "Description is required",
    "descriptionTooLong": "Description must be {{max}} characters or fewer, including formatting.",
    "descriptionFormattingHint": "Formatting counts toward Prolific's character limit.",
    "descriptionPlaceholder": "Enter study description",
    "audience": "Audience",
    "audienceDescription": "Configure your target audience and compensation",
    "numberOfParticipants": "Number of Participants",
    "participantsRangeError": "Participants must be between {{min}} and {{max}}",
    "rewardPerParticipant": "Reward per Participant",
    "rewardRangeError": "Reward must be between {{min}} and {{max}}",
    "minRewardHourlyError": "Minimum hourly rate should be at least {{amount}}",
    "rewardRecommendation": "Recommended: At least {{amount}}/hour",
    "estimatedDuration": "Estimated Duration (minutes)",
    "durationRangeError": "Duration must be between {{min}} and {{max}} minutes",
    "deviceCompatibility": "Device Compatibility",
    "deviceCompatibilityHint": "Select which devices your study supports",
    "peripheralRequirements": "Peripheral Requirements",
    "peripheralRequirementsHint": "Select any required peripherals",
    "contentWarning": "Content Warning",
    "contentWarningDescription": "Flag sensitive content for participants",
    "none": "None",
    "addContentWarningKeywords": "Add Content Warning Keywords",
    "contentWarningKeywordsHint": "Add keywords that describe sensitive content",
    "keywordPlaceholder": "e.g., violence, depression, politics",
    "participantLocationDescription": "Select countries where participants should reside",
    "countryFilterNotAvailable": "Country filter not available",
    "selectedCountries": "Selected Countries",
    "noCountriesSelected": "No countries selected",
    "additionalDemographicsDescription": "Refine your audience with additional demographic filters",
    "searchFilters": "Search filters…",
    "noFiltersFound": "No filters found for '{{term}}'",
    "selectedFilters": "Selected Filters",
    "noSelections": "No selections",
    "noFiltersSelected": "No filters selected yet",
    "samplingConfiguration": "Sampling Configuration",
    "samplingDescription": "Choose how participants are selected",
    "samplingType": "Sampling Type",
    "standardStudy": "Standard",
    "quotaSampling": "Quota",
    "representativeSample": "Representative",
    "representativeRequiresOneCountry": "Representative sampling requires exactly one country",
    "representativeOnlyUkUs": "Representative sampling only available for UK or US",
    "representativeSampleType": "Representative Sample Type",
    "allParticipants": "All participants",
    "filtersApplied": "{{count}} filter(s) applied",
    "estParticipants": "Estimated Participants",
    "summary": "Summary",
    "reward": "Reward",
    "prolificServiceFee": "Prolific Service Fee",
    "questionPunkFee": "QuestionPunk Fee",
    "totalCost": "Total Cost",
    "totalCostNote": "Fee includes {{feePercentage}}% QuestionPunk service charge",
    "configureToCostBreakdown": "Configure your study to see cost breakdown",
    "back": "Back",
    "continue": "Continue",
    "creating": "Creating…",
    "updating": "Updating…",
    "createStudy": "Create Study",
    "updateStudy": "Update Study",
    "prolificStudies": "Prolific Studies",
    "totalStudies": "Total Studies",
    "activeStudies": "Active Studies",
    "participants": "Participants",
    "noStudiesYet": "No studies yet!",
    "name": "Name",
    "duration": "Duration",
    "studyId": "Study ID",
    "progress": "Progress",
    "downloadDemographicData": "Download demographic data",
    "view": "View",
    "publish": "Publish",
    "pause": "Pause",
    "resume": "Resume",
    "stop": "Stop",
    "downloadData": "Download Data",
    "from": "From",
    "to": "To",
    "select": "Select",
    "search": "Search",
    "manageProlificStudies": "Manage your Prolific studies for participant recruitment",
    "createStudyToStart": "Create a new study to start recruiting participants.",
    "createNewStudy": "Create New Study",
    "status": "Status",
    "responses": "Responses",
    "createdDate": "Created Date",
    "edit": "Edit",
    "delete": "Delete",
    "study": "Study",
    "created": "Created",
    "estimatedCompletionTime": "Estimated Completion Time",
    "minute": "minute",
    "minutes": "minutes",
    "prolificCost": "Prolific Cost",
    "fee": "Fee",
    "rangeLimit": "Range limit",
    "noSelectionsFilter": "No selections",
    "documentationLink": "Documentation",
    "dashboardLink": "Prolific Dashboard",
    "durationLabel": "Duration:",
    "descriptionLabel": "Description:",
    "viewStudy": "View",
    "selectedRange": "Selected range:",
    "minValue": "Min value",
    "maxValue": "Max value",
    "weightPlaceholder": "Weight",
    "downloadDataLabel": "Download Data",
    "review": "Review",
    "reviewTitle": "Review Your Study",
    "reviewDescription": "Please review your recruitment campaign before launching.",
    "reviewStudyDetails": "Study Details",
    "reviewCostSummary": "Cost Summary",
    "reviewCostDescription": "Review your credit costs before launching.",
    "reviewLength": "Length",
    "reviewCurrentBalance": "Current Balance",
    "reviewRemainingBalance": "Remaining Balance",
    "reviewInsufficientCredits": "You don't have enough credits to launch this study. Please purchase more credits or reduce the study size.",
    "reviewFeeWaived": "Waived",
    "reviewLaunchStudy": "Launch Study",
    "reviewLaunching": "Launching...",
    "reviewBackToEdit": "Back to Edit",
    "durationMini": "Mini (< 5 mins)",
    "durationShort": "Short (5-10 mins)",
    "durationMedium": "Medium (10-30 mins)",
    "durationLong": "Long (30+ mins)",
    "upTo": "Up to {{value}}",
    "noTitle": "(No title)",
    "sensitiveTopics": "Sensitive topics",
    "explicitContent": "Explicit content"
  },
  "sharePreview": {
    "header": "Share Survey Preview",
    "label": "Enable shareable preview",
    "accessNote": "Anyone with this link can preview the survey",
    "copyLink": "Copy link",
    "linkCopied": "Link copied to clipboard",
    "clipboardError": "Failed to copy link to clipboard"
  },
  "auth": {
    "welcome": "Welcome",
    "signIn": "Sign in to your account.",
    "signUp": "Let's create your account",
    "signUpDesc": "Use one of the accounts below, or sign up with your email.",
    "signInWithGoogle": "Sign in with Google",
    "signUpWithGoogle": "Sign up with Google",
    "or": "or",
    "email": "Email",
    "emailAddress": "Email address",
    "password": "Password",
    "continueWithEmail": "Continue with E-mail",
    "forgotPassword": "Forgot your password?",
    "resetPassword": "Reset password",
    "logIn": "Log in",
    "signUpBtn": "Sign Up",
    "sendMagicLink": "Send Magic Link",
    "changeEmail": "Change Email",
    "wrongCredentials": "Wrong email or password. Try again...",
    "noPasswordSet": "This account has no password yet, so we emailed you a sign-in link.",
    "termsAgreement": "By clicking 'Sign up', you agree to our Terms & Privacy Policy",
    "termsOfService": "Terms of Service",
    "byProceeding": "By proceeding you acknowledge that you have read and agree to",
    "and": "and",
    "privacyPolicy": "Privacy Policy",
    "resetSent": "We sent instructions to your email",
    "resendEmail": "Resend Email",
    "createNewPassword": "Create a new password",
    "newPassword": "New password",
    "confirmPassword": "Confirm password",
    "savePassword": "Save password",
    "passwordMismatch": "Password mismatch",
    "firstName": "First name",
    "lastName": "Last name",
    "goToDashboard": "Go to dashboard",
    "fillProfile": "Fill out your profile",
    "enterFirstName": "Enter your name",
    "enterLastName": "Enter your last name",
    "passwordRequirements": "New password should contain minimum 8 symbols with at least: 1 number and 1 upper case letter.",
    "passwordsDontMatch": "Passwords don't match.",
    "checkEmail": "Check your email",
    "resetLinkSent": "We've sent a password reset link to your email address.",
    "hidePassword": "Hide password",
    "showPassword": "Show password",
    "signInWithApple": "Sign in with Apple",
    "signInWithMicrosoft": "Sign in with Microsoft",
    "signInWithLinkedIn": "Sign in with LinkedIn",
    "signUpWithApple": "Sign up with Apple",
    "signUpWithMicrosoft": "Sign up with Microsoft",
    "signUpWithLinkedIn": "Sign up with LinkedIn",
    "passwordPlaceholder": "Password (min 8 characters)",
    "gmail": "Gmail",
    "outlook": "Outlook",
    "support": "Support",
    "requestNewResetLink": "Request New Reset Link",
    "backToLogin": "Back to Login",
    "deleting": "DELETING...",
    "emailPlaceholder": "youremail@gmail.com"
  },
  "alerts": {
    "surveyPublished": "Your survey has been published",
    "quizPublished": "Your quiz has been published",
    "passwordUpdated": "Password updated successfully",
    "clipboardCopied": "Copied to clipboard",
    "clipboardUnavailable": "The clipboard isn't accessible",
    "subscriptionCanceled": "Subscription canceled",
    "deleteError": "An error occurred while deleting. Please try again.",
    "requestSubmitted": "Thank you. Your request has been submitted",
    "surveyDeleted": "Survey deleted successfully",
    "folderCreated": "Tag created successfully",
    "folderDeleted": "Tag deleted successfully",
    "folderRenamed": "Tag renamed successfully",
    "surveyRenamed": "Survey renamed successfully",
    "linkCopied": "Link copied to clipboard",
    "emailSent": "Email sent successfully",
    "inviteSent": "Invite sent successfully",
    "settingsSaved": "Settings saved successfully",
    "accountDeleted": "Account deleted successfully",
    "genericError": "Something went wrong. Please try again.",
    "contactSubmitted": "Your message has been sent. We'll get back to you soon."
  },
  "settings": {
    "backLabels": {
      "back": "Back",
      "home": "Home",
      "survey": "Survey",
      "team": "Team",
      "chat": "Chat"
    },
    "surveySettings": "Survey Settings",
    "surveySettingsDesc": "Configure your survey settings and respondent experience.",
    "saving": "Saving...",
    "sections": {
      "basic": "Basic",
      "team": "Team",
      "appearance": "Appearance",
      "access": "Access",
      "browser": "Browser",
      "completion": "Completion",
      "screens": "Screens"
    }
  },
  "surveyLogic": {
    "branchingLogic": "Branching Logic",
    "branchingDescription": "Route respondents to different questions based on their answers.",
    "displayLogic": "Display Logic",
    "displayDescription": "Add source questions, then rules within each question to control when this question appears.",
    "andLogicSet": "and",
    "addLogic": "Add logic",
    "addDisplayCondition": "Add display condition",
    "addCondition": "Add condition",
    "addQuestion": "Add question",
    "addSourceQuestion": "Add source question",
    "addRule": "Add rule",
    "show": "Show",
    "showIf": "Show if",
    "showThisQuestionWhen": "Show this question when",
    "sourceQuestion": "Source question",
    "rule": "Rule",
    "rulesForThisQuestion": "Rules for this question",
    "otherwise": "Otherwise",
    "whenAnswerTo": "when answer to",
    "if": "IF",
    "theAnswer": "the answer",
    "then": "then",
    "goTo": "go to",
    "inAllOtherCases": "in ALL other cases",
    "delete": "Delete",
    "addQuestionsFirst": "Add at least 3 questions to use branching logic.",
    "otherwiseIf": "OTHERWISE IF",
    "everyoneElse": "EVERYONE ELSE",
    "noAnswerOptionsYet": "This question has no answer options yet.",
    "useNewDataField": "Use a new data field instead",
    "ofTheseValues": "of these must be true",
    "remove": "Remove",
    "displayDescriptionPlain": "Show this question only when these are true.",
    "noLogicTitle": "No logic set up yet",
    "addDisplayLogic": "Add Display Logic",
    "addBranchingLogic": "Add Branching Logic",
    "noLogicDescription": "This question always shows, and everyone continues to the next one.",
    "addQuestionsForDisplay": "Add at least 1 other question with supported answer type to use display logic.",
    "addQuestionsOrEmbeddedDataForDisplay": "Add another supported question, or create an embedded data field, to use display logic.",
    "newEmbeddedDataField": "New embedded data field",
    "existingEmbeddedDataFields": "Existing fields",
    "useThisField": "Use",
    "embeddedDataKeyTaken": "A field with this key already exists.",
    "embeddedDataTooltip": "Embedded data is a hidden value stored with each respondent — set from the survey link (e.g. ?source=email) or randomly assigned (A/B). Use it to show or hide questions per group and to split results.",
    "is": "is",
    "isNot": "is not",
    "maxConditionsReached": "Maximum number of logic rules reached (7).",
    "maxDisplayConditionsReached": "Maximum number of display logic conditions reached (7).",
    "sections": "Sections",
    "questions": "Questions",
    "questionLabel": "Question {{number}}",
    "sourceQuestionLabel": "Source question {{number}}",
    "pathPreview": {
      "button": "Path Preview",
      "description": "Current likely path from survey start. Updates automatically when logic changes.",
      "validationIssuesRemaining_one": "{{count}} validation issue still present.",
      "validationIssuesRemaining_other": "{{count}} validation issues still present.",
      "noIssues": "No flow validation issues detected.",
      "scenarioExplorerTitle": "Scenario Explorer (branch + randomizer aware)",
      "pathLabel": "Path {{index}}",
      "pathProgress": "Path {{current}} of {{total}}",
      "randomizerDraws": "Randomizer draws",
      "noRandomizerVariation": "No randomizer variation in this path.",
      "morePathsCapped": "More paths may exist. Explorer is capped for performance.",
      "pathExplorerCapped": "Path explorer is capped for performance.",
      "loopDetected": "Loop detected in preview path. Respondents may revisit earlier questions.",
      "validationIssuesRemaining": "Validation Issues Remaining"
    },
    "unknownType": "Unknown type",
    "noneOfTheAbove": "None of the above",
    "otherOption": "Other option",
    "any": "ANY",
    "all": "ALL",
    "and": "AND",
    "or": "OR",
    "deleteCondition": "Delete Condition",
    "anonymousGeoWarning": "Location data isn’t collected on anonymous surveys, so this condition will never match — respondents without a value are always hidden from “is” AND “is not” rules.",
    "thisQuestionsAnswer": "This question's answer",
    "selectADestination": "Select a destination",
    "embeddedDataKeyHint": "Used in the survey link",
    "removeDisplayLogicTitle": "Remove display logic?",
    "removeDisplayLogicMessage": "This question will show to everyone. The conditions you set up will be deleted.",
    "removeBranchingLogicTitle": "Remove branching logic?",
    "removeBranchingLogicMessage": "Everyone will continue to the next question. The rules you set up will be deleted.",
    "manageDataFields": "Manage data fields",
    "logicMode": "Logic",
    "summary": {
      "showsWhen": "Shows when {conditions}",
      "sendsTo": "Sends to {branches}",
      "otherwise": "otherwise",
      "branch": "{destination} when {conditions}",
      "aSelectedCell": "{source} has a selected cell",
      "option": "option {{position}}",
      "incomplete": "…",
      "condition": {
        "is": "{source} is {value}",
        "is_not": "{source} is not {value}",
        "is_selected_option": "{source} is {value}",
        "is_number_greater": "{source} is greater than {value}",
        "is_number_less": "{source} is lower than {value}",
        "is_number_euqal_to": "{source} is equal to {value}",
        "is_number_not_euqal_to": "{source} is not equal to {value}",
        "is_string_equal_to": "{source} is equal to {value}",
        "is_string_not_equal_to": "{source} is not equal to {value}",
        "string_begins_with": "{source} begins with {value}",
        "string_contains": "{source} contains {value}",
        "string_does_not_contain": "{source} does not contain {value}",
        "string_ends_with": "{source} ends with {value}",
        "is_date_on": "{source} is on {value}",
        "is_date_not_on": "{source} is not on {value}",
        "is_date_before": "{source} is before {value}",
        "is_date_later": "{source} is after {value}",
        "is_matrix_selected": "{source} has {column} for {row}"
      }
    }
  },
  "tabs": {
    "build": "Build",
    "design": "Design",
    "test": "Test",
    "share": "Share",
    "responses": "Responses",
    "report": "Report",
    "results": "Results",
    "piping": "Piping"
  },
  "surveyBuilder": {
    "publish": "Publish",
    "unpublish": "Unpublish",
    "unpublishTooltip": "Takes your survey offline.",
    "republish": "Republish",
    "archive": "Archive",
    "preview": "Preview",
    "publishNudge": {
      "message": "Looks ready? Publish to start collecting responses.",
      "dismiss": "Dismiss"
    }
  },
  "formBuilder": {
    "noQuestionsPublish": "Please add at least one question before publishing your survey.",
    "noQuestionsSharePreview": "Please add at least one question before sharing a preview.",
    "noQuestionsPreview": "Please add at least one question before previewing your survey.",
    "discovery": {
      "planning": "Planning your survey",
      "buildingUsability": "Building your usability test…",
      "buildingVoice": "Building your AI interview…",
      "buildingSurvey": "Building your survey…",
      "buildingStudy": "Building your study…",
      "buildingQuiz": "Building your quiz…"
    }
  },
  "pptModal": {
    "title": "Generate Presentation",
    "subtitle": "Create a PowerPoint report from your survey results",
    "presentationTitle": "Presentation Title",
    "titlePlaceholder": "Leave empty to use survey name",
    "questions": "Questions",
    "questionsIncluded": "{{count}} questions will be included",
    "aiAnalysis": "Include AI Analysis",
    "decisionSlides": "Decision Slides",
    "decisionSlidesDescription": "Expert personas analyze your data and provide strategic recommendations",
    "decisionSlidesUpgrade": "Upgrade to Pro to unlock expert persona analysis and strategic recommendations",
    "expertPersonas": "Expert Personas",
    "selected": "selected",
    "customPrompt": "Custom Analysis Prompt",
    "optional": "optional",
    "customPromptPlaceholder": "e.g., Focus on customer satisfaction trends and churn risk factors...",
    "generate": "Generate Presentation",
    "checkingCache": "Checking for previous generation...",
    "starting": "Starting...",
    "generating": "Generating your presentation...",
    "ready": "Presentation Ready!",
    "readyDescription": "Your PowerPoint presentation has been generated.",
    "downloadAi": "Download AI Report",
    "downloadCharts": "Download Charts",
    "download": "Download .pptx",
    "close": "Close",
    "failed": "Generation Failed",
    "failedDescription": "Something went wrong. Please try again.",
    "tryAgain": "Try Again",
    "slides": "slides",
    "yourSurvey": "Your Survey",
    "importCsv": "Import CSV",
    "csvOnlyCsv": "Only CSV files are supported",
    "csvTooLarge": "File exceeds 10MB size limit",
    "csvClickUpload": "Click to upload",
    "csvOrDrag": "or drag and drop",
    "csvFormats": "CSV files up to 10MB (max 10,000 rows, 100 columns)",
    "csvCompatibility": "Compatible with exports from Qualtrics, SurveyMonkey, Google Forms, Typeform, and other tools",
    "csvAnalyzing": "Analyzing CSV...",
    "columnMapping": "Column Mapping",
    "columnsAsQuestions": "columns as questions",
    "rows": "rows",
    "columns": "columns",
    "csvShowingPreview": "Showing first 5 of {{count}} rows",
    "csvUploadDifferent": "Upload a different file",
    "csvDataImported": "CSV Data",
    "csvDataDescription": "Generating from imported data",
    "expertAnalysis": "Expert Analysis",
    "personasSelected": "persona(s) selected",
    "titlePreview": "Title Preview",
    "customTitleSet": "Custom title will appear on the title slide",
    "aiPowered": "AI-powered presentation from your survey data",
    "responses": "Responses",
    "estimatedSlides": "Est. Slides",
    "aiInsights": "AI Insights",
    "generatingInfo": "See progress on the right panel",
    "outputOptions": "Output Options",
    "outputOptionsDescription": "Select one or both. Each generates a separate downloadable file.",
    "allCharts": "All Charts",
    "allChartsDescription": "Raw data with all charts and statistics",
    "aiGenerated": "AI Generated",
    "aiGeneratedDescription": "AI-enriched presentation with insights and recommendations",
    "theme": "Theme",
    "aiContext": "AI Context",
    "aiSummary": "AI Summary",
    "aiSummaryDescription": "Survey-level executive summary",
    "reportSummary": "Report Summary",
    "reportSummaryDescription": "Aggregated per-question digests",
    "questionSummary": "Question Summary",
    "questionSummaryDescription": "Per-question themes and sentiment",
    "available": "available",
    "notGenerated": "not generated",
    "template": "Template",
    "profiles": "Profiles",
    "profilesWillAnalyze": "will analyze your data",
    "on": "On",
    "off": "Off",
    "stepFetch": "Fetching survey data...",
    "stepAnalyze": "Analyzing responses...",
    "stepBuild": "Building slides...",
    "stepSave": "Saving presentation...",
    "roleQuestion": "Question",
    "roleMetadata": "Metadata",
    "roleIgnore": "Ignore",
    "typeMultipleChoice": "Multiple Choice",
    "typeNumeric": "Numeric",
    "typeRating": "Rating",
    "typeText": "Text",
    "configureBelow": "Configure Below",
    "downloadReport": "Download Report",
    "generatedOn": "Generated On",
    "generateNew": "Generate New",
    "previousAvailable": "Previous Available"
  },
  "profile": {
    "upgrade": "Upgrade",
    "responseUsage": "Response Usage",
    "responsesCollected": "Responses Collected",
    "resetsIn": "Resets in {{time}}",
    "accountPreferences": "Account Preferences",
    "billingSubscription": "Billing & Subscription",
    "helpSupport": "Help & Support",
    "logout": "Logout",
    "free": "Free",
    "aiCredits": "Credits",
    "buyCredits": "Buy Credits"
  },
  "header": {
    "home": "Home",
    "untitledSurvey": "Untitled Survey",
    "notifications": "Notifications",
    "allCaughtUp": "You're all caught up.",
    "noNewNotifications": "No new notifications.",
    "notificationSettings": "Notification settings",
    "notificationsPanel": {
      "markAllRead": "Mark all read",
      "markAllReadFailed": "Could not mark all as read.",
      "tabAll": "All",
      "tabUnread": "Unread"
    },
    "invite": "Invite",
    "surveySettings": "Survey Settings",
    "export": "Export",
    "sharePreview": "Share Preview",
    "preview": "Preview",
    "previewMode": "You are in preview mode",
    "exitPreview": "Exit preview",
    "restart": "Restart",
    "emptyTitle": "Let's add some questions",
    "emptyDescription": "Click the button on the left to get your survey up and running.",
    "questions": "Questions",
    "teamInvite": "Team invite",
    "accessRequest": "Access request",
    "invitedBy": "Invited by {{name}}",
    "requestedAccess": "requested access.",
    "unreadNotifications_one": "You have {{count}} unread notification.",
    "unreadNotifications_other": "You have {{count}} unread notifications.",
    "openNotifications": "Open notifications",
    "teamOwner": "Team owner",
    "aUser": "A user",
    "accept": "Accept",
    "approve": "Approve",
    "unreadNotifications": "Unread Notifications"
  },
  "surveyFlow": {
    "tabLabel": "Survey Flow",
    "embeddedData": {
      "title": "Embedded data",
      "addField": "Add embedded data",
      "urlValue": "URL value",
      "moreFields": "+{{count}} more",
      "systemFieldsAuto": "System fields · auto"
    }
  },
  "questionEditPanel": {
    "save": "Save",
    "cancel": "Cancel",
    "unsavedChangesTitle": "Unsaved changes",
    "unsavedChangesMessage": "You have unsaved changes. What would you like to do?",
    "discardChanges": "Discard",
    "saveChanges": "Save changes"
  },
  "canvas": {
    "showBranchRules": "Show Branch Rules",
    "hideBranchRules": "Hide Branch Rules",
    "if": "If",
    "else": "Else",
    "logicAssistant": "Logic Assistant",
    "thinking": "Thinking...",
    "suggestedLogicChanges": "Suggested logic changes",
    "lastAIApplyCanBeUndone": "Last AI apply can be undone.",
    "describeLogicChange": "Describe a logic change...",
    "chatToModify": "Chat to modify",
    "quickFixesAvailable": "Quick fixes available",
    "dismiss": "Dismiss",
    "send": "Send",
    "flowLogicHint": "Describe the flow logic you want, for example: \"If Q2 is no, skip to Q4 and set fallback to Q5.\"",
    "undo": "Undo",
    "section": "Section",
    "element": "Element",
    "elements": "Elements",
    "rule": "Rule",
    "more": "+{{count}} more",
    "noQuestionText": "No question text yet",
    "sectionSettings": "Section settings",
    "apply": "Apply",
    "fixing": "Fixing...",
    "zoomIn": "Zoom in",
    "zoomOut": "Zoom out",
    "fitView": "Fit view",
    "tidyUp": "Auto-arrange",
    "tidyUpView": "Tidy up",
    "ifLabel": "If",
    "elseLabel": "Else",
    "questionPreview": "Question Preview",
    "nothingToSeeYet": "Nothing to see here yet",
    "edgeTypeFilter": "Show connections",
    "branchingOnly": "Branching logic",
    "displayLogicOnly": "Display logic",
    "layoutDisplayLogic": "Display logic tree",
    "layoutBranching": "Branching tree",
    "collapseSections": "Collapse sections"
  },
  "endScreen": {
    "badge": "End",
    "toggleLabel": "End screen",
    "toggleDescription": "When reached, the survey ends and the respondent sees this page as the final screen.",
    "outcomeLabel": "Completion outcome",
    "outcomeComplete": "Complete",
    "outcomeScreenout": "Screen-out",
    "outcomeQuota": "Quota full",
    "outcomeQuality": "Quality (failed check)",
    "immediateRedirectLabel": "Redirect immediately without showing this screen"
  },
  "surveyVersioning": {
    "statusBanner": {
      "liveWithResponses": "This survey is live (v{{version}}). Text edits save instantly. To change questions or logic, create Draft v2.",
      "liveNoResponses": "This survey is live (v{{version}}) — no responses yet. You can unpublish to take it offline.",
      "liveWithResponsesNoVersion": "This survey is live. Text edits save instantly. To change questions or logic, create Draft v2.",
      "liveNoResponsesNoVersion": "This survey is live — no responses yet. You can unpublish to take it offline.",
      "archived": "This survey is archived (v{{version}}). Structural changes are not available.",
      "archivedNoVersion": "This survey is archived. Structural changes are not available.",
      "unpublished": "This survey is offline (v{{version}}). The link shows your closed message. Removing questions hides their existing responses. Republish to go live.",
      "unpublishedNoVersion": "This survey is offline. The link shows your closed message. Removing questions hides their existing responses. Republish to go live.",
      "createDraftV2": "Create Draft v2",
      "createDraftV2ComingSoon": "Version branching — coming soon"
    },
    "structuralBlock": {
      "title": "Live surveys cannot be structurally edited",
      "description": "Questions, logic, and groups cannot be changed on a live survey. Create a new draft version to branch an editable copy.",
      "cta": "Create Draft v2",
      "ctaComingSoon": "Coming soon"
    },
    "versionHistory": {
      "title": "Version History",
      "activeLabel": "Active",
      "versionLabel": "Version {{number}}",
      "snapshotAt": "Captured {{date}}",
      "createDraftV2": "Create Draft v2",
      "draftInProgress": "Draft v2 in progress",
      "openDraft": "Open Draft v2",
      "noVersionsYet": "No versions yet. Publish this survey to create v1.",
      "creating": "Creating draft..."
    },
    "draftBranchBanner": {
      "text": "Draft v2 is in progress.",
      "openDraft": "Open Draft v2"
    },
    "draftV2EditorBanner": {
      "text": "You're editing Draft v2 — a copy of the live survey. Publishing will activate it and replace the live version.",
      "viewLive": "View Live Survey"
    },
    "publishBtnActivate": "Activate v2"
  },
  "sidebar": {
    "assistants": {
      "title": "Use your assistant",
      "description": "Create studies. Explore results.",
      "setup": "Set up",
      "setupLabel": "Set up {{assistant}} (opens in a new tab)",
      "expand": "Show assistant connections"
    },
    "research": "Research",
    "workspace": {
      "studies": "Studies",
      "participants": "Participants",
      "tools": "Tools",
      "conceptTests": "Concept tests",
      "simulatedFocusGroups": "AI focus groups",
      "packagingDesign": "Design",
      "teaching": "Classes",
      "courses": "Courses",
      "openPackagingDesign": "Create a packaging design",
      "designDraftHint": "The name and URLs are kept if you open Design. Uploaded files are not, so add them when you come back.",
      "savedDesigns": "Saved designs",
      "noSavedDesigns": "No saved designs yet. Create one in Design or upload an image.",
      "designImagesNotEditable": "These images cannot be edited with AI. Pick a saved design or re-upload them first.",
      "classesDescription": "Create classes and track student progress through research courses.",
      "quantitative": "Quantitative analysis"
    },
    "home": "Home",
    "recents": "Recents",
    "starred": "Starred",
    "searchSurveys": "Search surveys...",
    "tags": "Tags",
    "teams": "Teams",
    "createTag": "Create Tag",
    "showLess": "Show less",
    "more": "{{count}} more",
    "responseUsage": "Response Usage",
    "responsesThisMonth": "{{current}} of {{total}} responses this month",
    "resetIn": "Reset in {{time}}",
    "renewsInDays": "Renews in {{count}} days",
    "creditUsage": "Credit Usage",
    "purchasedCredits": "{{amount}} purchased credits",
    "monthlyCredits": "{{amount}} monthly credits",
    "upgradePlan": "Upgrade plan",
    "unsubscribe": "Unsubscribe",
    "monthly": "Monthly",
    "planLabel": "{{name}} PLAN",
    "upgrade": "Upgrade",
    "creditsAvailable": "credits available",
    "creditsWord": "credits",
    "creditsFree": "Free",
    "creditsPurchased": "Purchased",
    "responsesThisMonthLabel": "Responses this month",
    "responsesUsage": "{{current}} / {{total}}",
    "responseCapsPrivilegedNote": "Monthly response caps do not apply to {{role}}.",
    "refreshFooter": "Monthly credits and responses refresh {{when}}",
    "refreshFooterWithPurchased": "Monthly credits and responses refresh {{when}} · add-on credits never expire",
    "refreshShortly": "shortly",
    "refreshWithinHour": "within the hour",
    "refreshToday": "today at {{time}}",
    "refreshTomorrow": "tomorrow at {{time}}",
    "refreshOnDate": "{{when}} at {{time}}",
    "refreshStuckContact": "Refresh seems stuck — email ",
    "creditStatusLow": "Running low",
    "creditStatusCritical": "Almost out",
    "creditStatusEmpty": "Out of credits",
    "buyCredits": "Buy credits",
    "buyMoreCredits": "Buy more credits",
    "creditsBreakdownInline": "{{free}} free · {{purchased}} purchased",
    "creditsBreakdownTooltip": "Free: {{free}} (resets monthly) · Purchased: {{purchased}} (never expires)",
    "creditsBreakdownTooltipMath": "{{free}} (monthly) + {{purchased}} (purchased)",
    "creditsBreakdownTooltipNote": "Purchased credits never expire",
    "whatCanIDo": "What can I do?",
    "capabilitiesTitle": "What you can do with your credits",
    "capabilitiesSubtitle": "You have {{total}} credits. That's approximately:",
    "capabilitiesHero": "Here's approximately what you can get with these credits…",
    "capabilitiesAiQuestions": "≈ {{amount}} AI-powered questions",
    "capabilitiesVoiceInterviews": "≈ {{amount}} voice interviews",
    "capabilitiesTranscription": "≈ {{amount}} minutes of transcription",
    "capabilitiesAiQuestionsLabel": "AI-powered questions",
    "capabilitiesVoiceInterviewsLabel": "Voice interviews",
    "capabilitiesTranscriptionLabel": "Minutes of transcription",
    "capabilitiesDisclaimer": "Estimates only — actual usage varies by AI model and interaction length.",
    "capabilitiesDismiss": "Got it",
    "inviteMembers": "Invite Members",
    "settings": "Settings",
    "createFirstSurvey": "Create First Survey",
    "quietInHere": "It's a bit quiet in here!",
    "startByCreating": "Start by creating a shared survey",
    "analysis": "Analysis",
    "focusGroups": "Focus Groups",
    "productConcepts": "Product Concepts",
    "respondents": "Respondents",
    "createConceptTest": "Create concept test"
  },
  "survey": {
    "noTitle": "No title",
    "questions_one": "{{count}} question",
    "questions_other": "{{count}} questions",
    "star": "Star",
    "unstar": "Unstar",
    "emptySurveys": "No surveys found",
    "emptyDescription": "There are no surveys available. Create a new survey to get started.",
    "emptyDescriptionTeam": "There are no surveys available. Create a new shared survey to get started.",
    "createSurvey": "Create survey",
    "noStatusSurveys": "No {{status}} surveys",
    "noStatusDescription": "There are no {{status}} surveys available.",
    "responses_one": "{{count}} Response",
    "responses_other": "{{count}} Responses",
    "recentSurveys": "Recent Surveys",
    "surveys": "Surveys",
    "search": "Search",
    "filter": {
      "none": "None",
      "status": "Status",
      "folder": "Folder"
    },
    "sort": {
      "dateUpdated": "Date updated",
      "dateCreated": "Date created"
    },
    "status": {
      "all": "All",
      "draft": "Draft",
      "published": "Published",
      "unpublished": "Unpublished",
      "archived": "Archived"
    },
    "editedRelative": "Edited {{relative}}",
    "createdRelative": "Created {{relative}}",
    "newResponses": "{{count}} new responses",
    "questions": "Questions",
    "responses": "Responses"
  },
  "editor": {
    "internalName": "Internal Name",
    "question": "Question",
    "richTextEditor": "Rich text editor",
    "translate": "Translate",
    "aiAssist": "AI Assist",
    "aiSuggestions": "AI Suggestions",
    "customPrompt": "Custom Prompt",
    "questionNumber": "Question #{{number}}",
    "inQuestionGroup": "in Question Group #{{group}}",
    "questionTextRequired": "Question text is required when transition card is enabled",
    "content": "Content",
    "settings": "Settings",
    "logic": "Logic",
    "changeQuestionType": "Change Question Type",
    "searchQuestionTypes": "Search question types...",
    "noQuestionTypesFound": "No question types found",
    "tryDifferentSearch": "Try a different search term",
    "active": "Active",
    "compatible": "Compatible",
    "losesData": "Loses Data",
    "whenYouSwitchTo": "When you switch to",
    "design": "Design",
    "customizeSurveyAppearance": "Customize appearance",
    "generalGroup": "General",
    "modeSettingsGroup": "{{mode}} settings",
    "colorsAndStyle": "Colors & style",
    "bubblesAndColors": "Bubbles & colors",
    "themeGroup": "Theme",
    "customizeGroup": "Customize",
    "experienceGroup": "Experience",
    "buttonsAndInputs": "Buttons & inputs",
    "generateWithAI": "Generate with AI",
    "generateTheme": "Generate theme",
    "generateThemeHelper": "Describe a look — AI builds a matching theme.",
    "customTheme": "Custom theme",
    "removeCustomTheme": "Remove custom theme",
    "custom": "Custom Generated",
    "surveyMode": "Survey Mode",
    "displayMode": "Display Mode",
    "surveyModeDescription": "How respondents experience your survey",
    "cardLayout": "Card layout",
    "cardLayoutDescription": "Wrap the survey in a rounded card. Turn off for edge-to-edge full-bleed.",
    "aiDesignGenerator": "AI Design Generator",
    "themePresets": "Theme Presets",
    "resetToDefaults": "Reset to Defaults",
    "colors": "Colors",
    "background": "Background",
    "pageBackgroundColor": "Page background color",
    "chatBackground": "Chat Background",
    "chatAreaBackground": "Chat area background",
    "questionBubbles": "Question Bubbles",
    "assistantMessageColor": "Assistant message color",
    "responseBubbles": "Response Bubbles",
    "userResponseColor": "User response color",
    "sendButton": "Send Button",
    "sendButtonColor": "Send button color",
    "textColor": "Text Color",
    "chatTextColor": "Chat text color",
    "typographyAndStyles": "Typography & Styles",
    "bubbleStyle": "Bubble Style",
    "fontStyle": "Font Style",
    "inputStyle": "Input Style",
    "sendButtonStyle": "Send Button Style",
    "answerOptionStyle": "Answer Option Style",
    "answerOptionStyleHint": "How multiple-choice answer buttons look",
    "conceptTestPage": "Concept test page",
    "conceptPageBackground": "Page background",
    "conceptPageBackgroundHint": "Background behind the concept test stages",
    "conceptCardCorners": "Card corners",
    "conceptCardCornersHint": "Corner shape of the variant cards",
    "conceptCornerRounded": "Rounded",
    "conceptCornerSquare": "Square",
    "conceptProgressAccent": "Progress accent",
    "conceptProgressAccentHint": "Color of the progress bar and stage markers",
    "conceptStageMotion": "Stage transition motion",
    "conceptStageMotionHint": "Animate the change between stages",
    "mobileShellSection": "Mobile app appearance",
    "mobileShellStatusBar": "Status bar color",
    "mobileShellStatusBarHint": "Painted behind the phone's status bar in the QuestionPunk app. Unset follows the survey background",
    "mobileShellStatusBarStyle": "Status bar icons",
    "mobileShellStatusBarStyleHint": "Clock and battery icon color. Auto picks from the bar color",
    "mobileShellNavBar": "Navigation bar color",
    "mobileShellNavBarHint": "Painted behind the phone's navigation bar. Unset follows the status bar color",
    "mobileShellNavBarStyle": "Navigation bar buttons",
    "mobileShellNavBarStyleHint": "Navigation button color. Auto picks from the bar color",
    "mobileShellBackground": "Shell background",
    "mobileShellBackgroundHint": "Behind the survey while pages load. Unset follows the survey background",
    "mobileShellLoading": "Loading screen color",
    "mobileShellLoadingHint": "The in-app loading view before the survey appears",
    "mobileShellFollowPage": "Follow page theme",
    "mobileShellFollowPageHint": "Let dark survey pages retint the bars while the survey runs",
    "mobileShellStyleAuto": "Auto",
    "mobileShellStyleLight": "Light",
    "mobileShellStyleDark": "Dark",
    "inputMode": "Input Mode",
    "textOrAudioInput": "Text or audio as primary input",
    "streamingAndAnimation": "Streaming & Animation",
    "streamingResponses": "Streaming Responses",
    "streamingDescription": "Enable real-time streaming for AI interview questions",
    "typingLabel": "Typing Label",
    "typingLabelDescription": "Label shown while AI is typing",
    "customLabels": "Custom Labels",
    "textReveal": "Text Reveal",
    "textRevealDescription": "How streamed text appears when streaming is enabled",
    "surveyLogo": "Assistant Avatar",
    "surveyModeHelper": "Choose how respondents experience your survey.",
    "systemThemes": "System",
    "myThemes": "My themes",
    "themeHelper": "Pick a look or generate one.",
    "layout": "Layout",
    "upload": "Upload",
    "replace": "Replace",
    "remove": "Remove",
    "avatarHelperChat": "Shown beside the assistant's chat messages.",
    "statusDotHelper": "Show a small status dot on the assistant avatar.",
    "generateAvatar": "Generate avatar",
    "generateAvatarHelper": "Describe the avatar you want — AI creates it.",
    "describeAvatar": "Describe your avatar…",
    "generatingAvatar": "Generating avatar…",
    "useAvatar": "Use avatar",
    "refine": "Refine",
    "refineAvatar": "Refine — e.g. make it warmer",
    "avatarExampleFriendly": "Friendly robot mascot",
    "avatarExampleMinimal": "Minimal line icon",
    "avatarExampleMascot": "Playful cartoon face",
    "avatarHelperSequential": "Shown only during AI-interview questions.",
    "logo": "Logo",
    "logoHelper": "Shown on the start screen and at the top of your survey.",
    "uploadLogoCta": "Click to upload your logo",
    "removeLogo": "Remove logo",
    "avatarPreset": "Avatar Preset",
    "choosePresetAvatar": "Choose a preset avatar icon",
    "customLogo": "Custom Avatar",
    "orUploadYourOwnLogo": "Or upload your own avatar",
    "clickToUploadLogo": "Click to upload your avatar",
    "recommendedImageSize": "Recommended: 400x150px, PNG or JPG, max {{size}} MB",
    "or": "or",
    "generate": "Generate",
    "generateLogoWithAI": "Generate your avatar with AI",
    "statusIndicator": "Status indicator",
    "default": "Default",
    "reset": "Reset",
    "embedOnSite": "Embed on site",
    "embedDescription": "Integrate your interview into your own site easily.",
    "embedType": "Embed type",
    "customizeEmbed": "Customize embed",
    "widthPx": "Width (px)",
    "heightPx": "Height (px)",
    "transparentBackground": "Transparent background",
    "copyTheCode": "Copy the code",
    "copy": "Copy",
    "embedPreview": "Embed Preview",
    "standard": "Standard",
    "fullPage": "Full page",
    "popup": "Popup",
    "popover": "Popover",
    "slideTab": "Slide tab",
    "exportResponses": "Export Responses",
    "format": "Format",
    "excelXlsx": "Excel (.xlsx)",
    "excelTooltip": "Microsoft Excel format, best for analysis in Excel",
    "csvFile": "CSV (.csv)",
    "csvTooltip": "Comma-separated values, compatible with any spreadsheet app",
    "wide": "Wide",
    "wideTooltip": "One row per respondent, questions as columns. Best for most analyses.",
    "flat": "Flat",
    "flatTooltip": "One row per answer. Useful for pivot tables and detailed analysis.",
    "answerFormat": "Answer format",
    "labels": "Labels",
    "labelsTooltip": "Export the text labels of answers (e.g., 'Strongly Agree')",
    "numeric": "Numeric",
    "numericTooltip": "Export 1-based indices instead of labels (e.g., 1, 2, 3)",
    "both": "Both",
    "bothTooltip": "Export both index and label together (e.g., '1: Strongly Agree')",
    "timezone": "Timezone",
    "searchPlaceholder": "Search...",
    "common": "Common",
    "all": "All",
    "noMatch": "No match",
    "includeInExport": "Include in export",
    "fraudDetectionData": "Fraud detection data",
    "geoLocationData": "Geo location data",
    "recordingLinks": "Recording links",
    "recordingLinksSubtext": "Add a column linking to each session recording, playable in app or downloadable",
    "filteredBy": "Filtered by {{filters}}",
    "cancel": "Cancel",
    "export": "Export",
    "aiAnalysis": "AI Analysis",
    "cached": "Cached",
    "analysisGeneratedFor": "This analysis was generated for",
    "clickRefreshToAnalyze": "Click refresh to analyze {{filter}} responses only.",
    "refreshAnalysis": "Refresh analysis ({{remaining}} remaining)",
    "analysisLimitReached": "Analysis limit reached",
    "close": "Close",
    "viewHistory": "View history",
    "previousAnalyses": "Previous Analyses",
    "responses": "responses",
    "summary": "Summary",
    "basedOnResponses": "Based on {{count}} response",
    "basedOnResponsesPlural": "Based on {{count}} responses",
    "sentiment": "Sentiment",
    "keyThemes": "Key Themes",
    "keyInsights": "Key Insights",
    "lastUpdated": "Last updated: {{date}}",
    "analysesRemaining": "{{remaining}} of {{limit}} analyses remaining",
    "mentions": "{{count}} mentions",
    "positive": "Positive",
    "neutral": "Neutral",
    "negative": "Negative",
    "mean": "Mean",
    "median": "Median",
    "mode": "Mode",
    "min": "Min",
    "max": "Max",
    "avgWords": "Avg Words",
    "avgCharacters": "Avg Characters",
    "totalWords": "Total Words",
    "totalCharacters": "Total Characters",
    "allResponses": "all responses",
    "responsesOfType": "{{type}} responses",
    "select": "Select",
    "typingLabelPlaceholder": "e.g. Thinking...",
    "add": "Add",
    "addTypingLabel": "Add typing label",
    "removeLabel": "Remove label",
    "addLabelHelper": "Add labels separated by comma or Enter",
    "inviteTeamMember": "Invite team member",
    "surveySettingsLabel": "Survey settings",
    "exportSurvey": "Export survey",
    "sharePreviewLabel": "Share preview",
    "previewSurvey": "Preview survey",
    "questionSettings": "Question settings",
    "closeQuestionEditor": "Close question editor",
    "previousQuestion": "Previous question",
    "nextQuestion": "Next question",
    "goToHome": "Go to home",
    "editQuestion": "Edit Question",
    "closePanel": "Close panel",
    "noQuestionsYet": "No questions in survey yet",
    "uploadLogo": "Upload avatar",
    "deleteLogo": "Delete avatar",
    "analysisSections": "Analysis sections",
    "questionToc": "Question table of contents",
    "moreActionsLabel": "More actions",
    "notDefinedYet": "Not defined yet"
  },
  "buttons": {
    "cancel": "Cancel",
    "delete": "Delete",
    "save": "Save",
    "confirm": "Confirm",
    "add": "Add",
    "send": "Send",
    "back": "Back",
    "continue": "Continue",
    "rename": "Rename",
    "createTag": "Create Tag",
    "renameTag": "Rename Tag",
    "accept": "Accept",
    "reject": "Reject"
  },
  "popup": {
    "deleteSurveyItem": {
      "title": "Delete",
      "message": "Are you sure you want to delete?",
      "confirm": "Delete"
    },
    "deleteSession": {
      "title_one": "Delete {{count}} response?",
      "title_other": "Delete {{count}} responses?",
      "message": "We can't recover any responses once you delete them.",
      "confirm": "Yes, delete it",
      "title": "Title"
    },
    "deleteSurveyLang": {
      "title": "Confirm Deletion",
      "message": "Are you sure you want to delete this language?",
      "confirm": "Delete"
    },
    "unpublish": {
      "title": "Unpublish survey",
      "message": "Your survey link goes offline and respondents will see your closed message. You can edit and republish it anytime.",
      "confirm": "Unpublish"
    },
    "createFolder": {
      "title": "Create new Tag",
      "placeholder": "Name your Tag",
      "confirm": "Create Tag",
      "duplicateError": "A tag with this name already exists"
    },
    "deleteFolder": {
      "title": "Delete this tag?",
      "message": "Are you sure you want to delete this tag? The action is irreversible.",
      "confirm": "Yes, delete it"
    },
    "renameFolder": {
      "title": "Rename tag",
      "placeholder": "Rename your Tag",
      "confirm": "Rename Tag"
    },
    "renameSurvey": {
      "title": "Rename survey",
      "placeholder": "Rename your survey",
      "langNote": "Note, that you are changing the title of the survey's {{langText}} version",
      "confirm": "Rename survey"
    },
    "deleteSurvey": {
      "title": "Delete this form?",
      "message": "Are you sure you want to delete this survey?",
      "irreversible": "The action is irreversible.",
      "confirm": "Yes, delete it"
    },
    "autoTranslate": {
      "title": "Would you like to automatically translate from your primary language to {{targetLangCode}}?",
      "message": "You are going to translate automatically from your primary language",
      "manually": "Translate Manually",
      "automatically": "Translate Automatically"
    },
    "enableAutotranslate": {
      "title": "Enable Auto-Translate?",
      "message": "Enabling auto-translate will replace all your manual translations with automatic translations in your default language. Are you sure you want to proceed?",
      "keepManual": "No, Keep Manual",
      "enable": "Yes, Enable"
    },
    "acceptGeneration": {
      "title": "Do you want to add this question?",
      "generateAnother": "Generate Another",
      "reject": "Reject",
      "accept": "Accept"
    },
    "confirmStopStudy": {
      "title": "Are you sure you want to stop the study?",
      "message": "You are about to stop the study. This action cannot be undone.",
      "confirm": "Confirm and Stop"
    },
    "deleteAccount": {
      "title": "Delete account",
      "message": "The deletion of your account is final, all your data will be deleted.",
      "confirmQuestion": "Are you sure you want to delete your account?",
      "checkboxLabel": "I confirm that I want to delete my account, my surveys and all collected responses",
      "confirm": "Delete my account",
      "error": "Error"
    },
    "translateConfirm": {
      "title": "Confirm Translation Overwrite",
      "message": "The action will overwrite any manual translations made for this question in the current language. Are you sure you want to proceed?",
      "confirm": "Confirm Overwrite"
    },
    "changeQuestionType": {
      "title": "Change Question Type?",
      "confirm": "Confirm Change"
    },
    "insertLink": {
      "title": "Add a Link",
      "message": "Paste the URL to your document or file below. This will serve as a reference that you can mention in your AI prompt.",
      "placeholder": "https://example.com"
    },
    "customUrl": {
      "description": "This is the easy-to-remember web address for your survey",
      "validation": "Enter at least 3 characters, a-z, 0-9, -, _ , starting with letter or number. Max 50.",
      "alreadyUsed": "The url is already used."
    },
    "editSurveyGroup": {
      "title": "Section settings",
      "sectionBranchingTitle": "Section branching",
      "randomizerTitle": "Randomizer Configuration",
      "parentSection": "Parent section",
      "topLevel": "Top level",
      "untitledSection": "Untitled section",
      "randomSubset": "Displays random subset of items in randomizer group",
      "runBehaviorTitle": "Run behavior",
      "runBehaviorHelp": "Choose how this section is presented to each respondent.",
      "runBehaviors": {
        "show_once": {
          "title": "Show once",
          "help": "Present every item once in the authored order."
        },
        "random_subset": {
          "title": "Random subset",
          "help": "Show a randomized subset of the items in this section."
        },
        "repeat_from_data": {
          "title": "Repeat for each row",
          "help": "Ask this section's questions once per row of image or text data."
        }
      },
      "show": "Show",
      "enterValue": "Enter value between 1 and {{maxValue}}",
      "of": "of",
      "addedQuestionsAndSections": "added questions and sections",
      "addAtLeastTwo": "Add at least two elements to the randomizer group to activate the randomizer",
      "otherSettingsTitle": "Other section settings",
      "otherSettingsHelp": "These settings apply to the repeated section as a whole, not to each data row.",
      "breakAfterSectionTitle": "Break after this section",
      "breakAfterSectionHelp": "Start the next question on a new page after this section. The section's own questions stay together, and the break still lands after the section when it's randomized.",
      "screenShareTitle": "Ask respondents to share their screen in this section",
      "screenShareRequired": "Required to continue",
      "screenShareRequiredHelp": "When on, declining to share ends the session. When off, the section is skipped instead.",
      "screenShareInheritNotice": "Screen share is enabled survey-wide. Override here to make this section optional.",
      "screenShareRecording": "Record the screen",
      "screenShareRecordingHelp": "Save the shared screen so you can review it in the report.",
      "platformAvailabilityTitle": "Available on",
      "platformAvailabilityHelp": "Choose which devices can take this screen-share section. Respondents on other devices skip it.",
      "platformAndroid": "Android",
      "platformIos": "iPhone",
      "platformComputer": "Computer",
      "usabilityTaskTitle": "Usability task",
      "usabilityTaskHelp": "Give respondents a task to do on an external website while they share their screen.",
      "usabilityTaskUrlLabel": "Website to open",
      "usabilityTaskTargetTypeLabel": "Task target",
      "usabilityTaskTargetWebsite": "Website",
      "usabilityTaskTargetPrototype": "Prototype",
      "usabilityTaskTargetNativeApp": "Native app",
      "usabilityTaskTargetNone": "Observe only (no destination)",
      "usabilityTaskTargetLabel": "Destination (optional)",
      "usabilityTaskScenarioLabel": "Task scenario",
      "usabilityTaskUrlRequired": "Add a website URL so respondents get a button to open the site.",
      "usabilityTaskScenarioPlaceholder": "Write a realistic, goal-oriented scenario. Don't reveal where to click or how to do it. e.g. \"You want to book a one-way flight from New York to London next Friday. Find the cheapest option.\"",
      "repeatFromData": {
        "filter": {
          "title": "Split rows by participant assignment",
          "help": "Optional. Show a participant only the rows whose column value matches their embedded-data value — for example, split stimuli into portfolio A and B and assign participants randomly.",
          "clear": "Clear",
          "column": "Data column",
          "columnPlaceholder": "Choose a column",
          "parameter": "Embedded data field",
          "parameterPlaceholder": "Choose a field",
          "noEmbeddedData": "Define an embedded data field in the Piping tab first (for example a randomized \"portfolio\" field with values A and B), then select it here to split rows between participants.",
          "matchSummary": "Rows per value:",
          "rowCount": "{{count}} rows",
          "rowCount_one": "{{count}} row"
        },
        "import": {
          "open": "Import CSV",
          "title": "Import rows in bulk",
          "help": "Upload a CSV/TSV file or paste rows from a spreadsheet. The first row supplies column names; Row ID, row_id, or id is used as the stable row ID. New columns are added as analysis-only fields.",
          "close": "Close row import",
          "fileLabel": "CSV or TSV file",
          "chooseFile": "Choose CSV",
          "pasteLabel": "Paste CSV or spreadsheet rows",
          "pasteHelp": "Comma- and tab-separated data are both supported.",
          "placeholder": "Row ID,Image,Supporting text,Portfolio\nSTIM-001,https://example.com/a.jpg,First concept,A",
          "modeLabel": "When importing",
          "modes": {
            "append": "Add to current rows",
            "replace": "Replace current rows"
          },
          "submit": "Import rows",
          "fileRead": "That file could not be read. Try choosing it again or paste its contents below.",
          "success": "Imported {{rows}} rows and added {{fields}} new columns.",
          "successWithRenamed": "Imported {{rows}} rows and added {{fields}} new columns. {{renamed}} duplicate row IDs were renamed.",
          "errors": {
            "empty": "Paste rows or choose a CSV file first.",
            "parse": "The pasted data could not be parsed as CSV or tab-separated rows.",
            "blankHeader": "Every imported column needs a name in the first row.",
            "duplicateHeader": "The header {{header}} appears more than once. Rename one of those columns.",
            "headerTooLong": "The header {{header}} is longer than 80 characters.",
            "noRows": "Add at least one data row below the header.",
            "tooManyColumns": "This import would exceed the {{max}}-column limit.",
            "tooManyRows": "This import would exceed the {{max}}-row limit.",
            "rowTooWide": "Row {{row}} contains more cells than the header row.",
            "rowIdTooLong": "The row ID on row {{row}} is longer than 80 characters.",
            "cellTooLong": "The {{column}} value on row {{row}} is longer than 2,048 characters."
          }
        },
        "title": "Repeat section from data",
        "help": "Each selected row creates one trial. Its row content appears first, then every question in this section uses that same row before the next trial begins.",
        "draftBadge": "Authoring only",
        "authoringOnly": "Authoring only",
        "runtimeUnavailableHelp": "Participant Preview, Share Preview, Test with AI, publishing, reports, and exports are blocked while occurrence-aware delivery is still being built.",
        "sectionTrialSummary": "{{rows}} trial rows × {{questions}} shared questions = {{answers}} answers per respondent",
        "sectionTrialSummaryEmpty": "{{rows}} trial rows × 0 questions — add a question to run the loop",
        "whatRespondentSees": "What a respondent sees",
        "previewTrialPosition": "Trial {{current}} of {{total}}",
        "previewQuestionLabel": "Q{{number}}",
        "previewNextRowHint": "then the next row",
        "previewNoQuestions": "Add a question to this section to complete the loop.",
        "untitledQuestion": "Untitled question",
        "questionsStripTitle": "Questions in this section",
        "questionsStripHelp": "Asked once per row",
        "runsPerRow": "runs ×{{count}}",
        "sidebarSummary": "{{rows}} rows",
        "canvasSummary": "Repeats {{rows}} rows · {{source}}",
        "noBindingsConfigured": "No participant fields bound yet",
        "participantTrialPreview": "Repeated trial preview",
        "trialStructureSummary": "A respondent would get {{rows}} trials. Each trial contains all {{questions}} shared questions in this section.",
        "previousPreviewRow": "Preview previous data row",
        "nextPreviewRow": "Preview next data row",
        "previewRowPosition": "Row {{current}} of {{total}}",
        "trialContent": "Trial content · changes by row",
        "rowContentLabel": "Current row · {{rowId}}",
        "sharedQuestion": "Shared question {{current}} of {{total}}",
        "questionAndAnswerChoices": "Question and answer choices",
        "questionAndResponse": "Question and response control",
        "sameQuestionHelp": "The question directly below stays the same for every row. After all shared questions are answered, the next row begins.",
        "completeQuestionHelp": "Finish the shared question directly below. Once complete, that same task is used for every row.",
        "primaryLanguageRowTextNotice": "Row text uses the survey’s primary language. This translation changes only the shared question below.",
        "questionCompletion": {
          "missing_question_and_choices": "Question and choices missing",
          "missing_question": "Question text missing",
          "missing_choices": "Choices missing",
          "complete": "Ready"
        },
        "advancedEditTitle": "Editing shared question {{current}} of {{total}}",
        "advancedEditHelp": "Question text, answer choices, and answer settings apply to all {{rows}} row trials. Trial content, sampling, and row order stay in Section settings. Logic is unavailable for repeated questions.",
        "noRow": "No row",
        "supportingTextPreviewLabel": "Supporting text",
        "previewNoImage": "No image in this row",
        "previewImageUnavailable": "Image preview unavailable",
        "previewNoSupportingText": "No supporting text in this row",
        "noRowsToPreview": "Add a data row in Section settings to preview participant content.",
        "topLevelHelp": "Repeated sections stay at the top level during the authoring alpha.",
        "nestedUnavailable": "Move this section to the top level before enabling Repeat from data.",
        "childSectionsUnavailable": "Move nested sections out first. Repeat from data supports multiple direct questions, not nested sections.",
        "branchingUnavailable": "Custom section branching is unavailable while this section repeats from data.",
        "defaultQuestionText": "How would you rate this?",
        "sourceName": "Data source name",
        "rowsShown": "Rows shown",
        "selection": {
          "all": "All rows",
          "random_subset": "Random subset"
        },
        "sampleSize": "Rows per respondent",
        "order": "Row order",
        "orderOptions": {
          "authored": "Authored",
          "randomized": "Randomized"
        },
        "addField": "Add column",
        "newField": "New column",
        "fieldName": "Field name",
        "fieldTypes": {
          "text": "Text",
          "image": "Image"
        },
        "visibility": {
          "participant": "Participant",
          "analysis": "Analysis only"
        },
        "removeField": "Remove field",
        "imageBinding": "Trial image",
        "textBinding": "Trial text",
        "tableTitle": "Trial data",
        "trialDataHelp": "Each row is one trial. Name columns and choose what participants see directly in each header.",
        "trialRecipePrefix": "Each trial shows",
        "trialRecipeThen": "then asks {{questions}} shared questions",
        "noTrialContent": "No trial content selected",
        "analysisColumnSummary": "{{count}} analysis-only columns",
        "columnType": "Content type",
        "columnUse": "Used as",
        "addRow": "Add row",
        "rowId": "Row ID",
        "rowIdHelp": "Stable analysis key",
        "imageUrl": "Image URL",
        "noImage": "No image yet",
        "uploadImage": "Upload or choose image",
        "imageMaxWidth": "Image display width (px)",
        "imageMaxWidthAuto": "Full width",
        "previewUnavailable": "Preview unavailable",
        "removeRow": "Remove row",
        "emptyRows": "Add a row to begin defining trials."
      },
      "panel": {
        "repeatBehaviorTitle": "Repeat for each stimulus",
        "repeatBehaviorHelp": "Ask this section's questions once per stimulus — images or text you add.",
        "questionsPhraseOne": "the question",
        "questionsPhraseOther": "all {{count}} questions",
        "sectionFallback": "Section",
        "tabBehavior": "Behavior",
        "tabAdvanced": "Advanced Options",
        "randomSubsetTitle": "Show a random subset",
        "randomSubsetHelp": "Each respondent sees a random selection of this section's items.",
        "subsetAllCount": "All {{count}}",
        "subsetAll": "All",
        "subsetOption": "{{count}} of {{total}}",
        "stimuliEmptyTitle": "Ask this section's questions about a set of stimuli",
        "stimuliEmptyBody": "Add images — each respondent answers {{questions}} for every image.",
        "addStimuli": "Add stimuli",
        "rulesTitle": "Rules",
        "breakAfterHelp": "Start a new page once this section ends.",
        "screenShareTitle": "Ask respondents to share their screen",
        "screenShareHelp": "Respondents share their screen while answering this section.",
        "screenShareRequired": "Required",
        "screenShareRequiredHelp": "Respondents must share to continue.",
        "screenShareRecording": "Record the shared screen",
        "screenShareRecordingHelp": "Save a recording with each response.",
        "branchingHelp": "Route respondents when they leave this section.",
        "branchingPending": "Available once the section is saved."
      }
    },
    "customPrompt": {
      "title": "Custom Prompt",
      "createWithAI": "Create with AI",
      "description": "Enter a specific topic, question style, or details you'd like AI to use. The more specific you are, the better the AI can tailor the question to your needs."
    },
    "contact": {
      "title": "Contact our team",
      "subjectLabel": "Subject:",
      "subjectPlaceholder": "The Subject",
      "emailLabel": "Email:",
      "emailValidation": "Follow this pattern to proceed: youremail@example.com",
      "emailPlaceholder": "Your Email",
      "messageLabel": "Message:",
      "messagePlaceholder": "Your Message"
    },
    "cancelButton": "Cancel",
    "thisSurveySetting": "This is a survey setting",
    "attachQuestion": {
      "title": "Add to survey",
      "dismiss": "Dismiss",
      "kindDesign": "Design",
      "kindConcept": "Concept Testing",
      "hintDesign": "Drag into the list to add your design.",
      "hintConcept": "Drag into the list to add your concept.",
      "insertAtPosition": "Insert at a position",
      "insertHere": "Insert here",
      "topOfList": "Top of list",
      "afterQuestion": "After question {{position}}"
    }
  },
  "onboarding": {
    "voice": {
      "connecting": "Connecting to interviewer...",
      "inProgress": "Interview in progress",
      "wrappingUp": "Wrapping up the interview...",
      "closingVoice": "Closing voice interview...",
      "switchToText": "Switch to text mode",
      "enableAudio": "Enable Audio",
      "settingUp": "Setting up voice interview...",
      "errorTitle": "Could not start voice interview. Retry or continue in text mode.",
      "retry": "Retry voice",
      "completionTitle": "Interview Complete",
      "completionDescription": "Setting up your personalized dashboard...",
      "countdown": {
        "wrapping": "Wrapping up...",
        "warning": "{{seconds}}s — wrapping up soon",
        "remaining": "{{time}} remaining"
      },
      "errors": {
        "setup_timeout": "Voice setup took too long.",
        "setup_failed": "Could not set up the voice interview.",
        "invalid_session": "The voice session response was incomplete.",
        "connection_timeout": "Voice connection took too long.",
        "connection_failed": "Could not connect to the voice interview.",
        "disconnected": "The voice interview disconnected unexpectedly.",
        "agent_unavailable": "The AI interviewer never joined. Retry, or switch to the quick text setup."
      },
      "finalization": {
        "errorTitle": "We couldn't finish your personalized setup",
        "errorDescription": "Your answers are safe. Retry setup, or continue to your dashboard without personalization.",
        "retry": "Retry setup",
        "retrying": "Retrying...",
        "continueWithout": "Continue without personalization",
        "dashboardWorking": "Creating your personalized starter surveys...",
        "dashboardReady": "Your personalized starter surveys are ready.",
        "dashboardFailed": "We couldn't create your starter surveys yet.",
        "dashboardRetry": "Retry",
        "dashboardContinue": "Dismiss personalization"
      }
    },
    "getStarted": "Get Started",
    "headerUserInfo": "Welcome! Tell us a bit about yourself",
    "descUserInfo": "This helps us personalize your experience for your specific needs.",
    "orgNameLabel": "Organization or Project Name",
    "orgNamePlaceholder": "e.g., Acme Corp, Research Lab, Personal Blog",
    "optional": "(optional)",
    "roleLabel": "Your Role",
    "roleOptionResearcherAnalyst": "Researcher / Analyst",
    "roleOptionProductManager": "Product Manager",
    "roleOptionMarketingBrand": "Marketing / Brand",
    "roleOptionUxDesigner": "UX / Designer",
    "roleOptionAcademicProfessor": "Academic / Professor",
    "roleOptionFounderExecutive": "Founder / Executive",
    "roleOptionStudent": "Student",
    "useCasesLabel": "What will you use QuestionPunk for?",
    "useCaseOptionMarketResearch": "Market Research",
    "useCaseOptionCustomerFeedback": "Customer Feedback",
    "useCaseOptionAcademicResearch": "Academic Research",
    "useCaseOptionProductResearch": "Product Research",
    "useCaseOptionBrandTracking": "Brand Tracking",
    "useCaseOptionConceptTesting": "Concept Testing",
    "helpPrompt": "Would you like help from our team?",
    "helpOptionProfessional": "Yes, I'd like guidance",
    "helpOptionSelfGuided": "No, I'll explore on my own",
    "helpOptionNotSure": "Maybe later",
    "continue": "Continue",
    "back": "Back",
    "skip": "Skip and start exploring",
    "stepOf": "Step {{current}} of {{total}}",
    "headerSurveyPlans": "What would you like to create?",
    "headerPlatformIntro": "See QuestionPunk in Action",
    "descSurveyPlans": "Tell us about your survey goals and how we can help.",
    "descPlatformIntro": "Discover the powerful features that make QuestionPunk unique.",
    "websiteLabel": "Website",
    "websitePlaceholder": "e.g., example.com or https://www.example.com",
    "websiteError": "Please enter a valid website URL",
    "rolePlaceholder": "e.g., Founder, Researcher, Student, Freelancer",
    "useCaseMarketResearch": "Market Research",
    "useCaseStartupValidation": "Startup Idea Validation",
    "useCaseUserFeedback": "User Feedback",
    "useCaseAcademicResearch": "Academic Research",
    "useCasePersonalProjects": "Personal Projects",
    "useCaseOther": "Other",
    "otherUseCasePlaceholder": "Please specify your use case",
    "teamSizeLabel": "Team Size",
    "teamSizeJustMe": "Just me",
    "surveyIdeasLabel": "Do you have any survey ideas in mind?",
    "surveyIdeasPlaceholder": "e.g., Customer satisfaction survey, Employee feedback form, Market research questionnaire...",
    "howToGetStarted": "How would you like to get started?",
    "selfGuidedTitle": "I'll explore on my own",
    "selfGuidedDesc": "I'm comfortable diving in and figuring things out",
    "professionalTitle": "I'd like professional guidance",
    "professionalDesc": "Help me create effective surveys with expert assistance",
    "notSureTitle": "I'm not sure yet",
    "notSureDesc": "I'll decide after exploring the platform",
    "watchDemo": "Watch a 2-minute demo",
    "comingSoon": "Coming soon",
    "learnBasics": "Learn the basics of QuestionPunk",
    "featureCreateSurveys": "Create Surveys",
    "featureCreateSurveysDesc": "Build beautiful surveys with our intuitive drag-and-drop editor",
    "featureDynamicAI": "Dynamic AI Questions",
    "featureDynamicAIDesc": "AI adapts questions based on responses for deeper insights",
    "featureMultiLang": "Multiple Languages",
    "featureMultiLangDesc": "Reach global audiences with multi-language support",
    "freeAIBalanceTitle": "Free credits included",
    "freeAIBalanceDesc": "You have 3,000 free credits ready to use — enough for ~20 AI interview questions. No credit card required.",
    "readyToExplore": "Ready to explore on your own?"
  },
  "tour": {
    "back": "Back",
    "last": "Finish Tour",
    "next": "Next",
    "skip": "Skip",
    "common": {
      "next": "Next",
      "back": "Back",
      "skip": "Skip",
      "exit": "Exit tour",
      "restartStep": "Restart step",
      "done": "Done",
      "stepOf": "Step {{current}} of {{total}}",
      "videoTitle": "Tour video"
    },
    "devSmoke": {
      "hello": {
        "title": "Welcome to the tour engine",
        "body": "This smoke flow proves each engine capability. Press Next to continue, or Escape to exit.",
        "note": "Rendered through the media popup's free-form node kind."
      },
      "templatesCoachmark": {
        "title": "Start from a template",
        "body": "Click the highlighted tile to continue the tour."
      },
      "blankCoachmark": {
        "title": "Or start from scratch",
        "body": "This coachmark advances with its Next button."
      },
      "previewMedia": {
        "title": "Question-type micro-demo",
        "body": "A reused builder animation, scaled freely by the popup."
      },
      "videoMedia": {
        "title": "Self-hosted video",
        "body": "A plain mp4 served from tour-media (heavy assets use S3 links)."
      },
      "embedMedia": {
        "title": "Embedded video",
        "body": "An allowlisted YouTube embed."
      },
      "imageMedia": {
        "title": "Static image",
        "body": "A plain image rendered at its intrinsic size."
      },
      "dock": {
        "title": "Progress dock",
        "body": "Tracks your position in the flow from the bottom corner."
      },
      "keepDockCoachmark": {
        "title": "The dock stays with you",
        "body": "The dock remains as secondary chrome while this coachmark is active."
      },
      "designTab": {
        "title": "Driven to the Design tab",
        "body": "The engine switched the editor tab and waited for this panel. The run survived losing the URL parameter."
      },
      "autoDrive": {
        "title": "Auto-advance",
        "body": "This card advances by itself after a moment.",
        "note": "It also proved a route drive back to Home."
      }
    },
    "fullDemo": {
      "welcome": {
        "title": "Welcome to the builder",
        "body": "This short tour walks the whole product — live, on real pages. Question types animate like this one.",
        "cta": "Start the tour"
      },
      "dockIntro": {
        "title": "Your progress lives here",
        "body": "This dock tracks the phases of the tour and stays with you on every page."
      },
      "addQuestion": {
        "title": "Add any question type",
        "body": "Every question type — from multiple choice to usability tests — starts from this button."
      },
      "questionItem": {
        "title": "Questions are cards",
        "body": "Each card is one question. Drag to reorder, click to edit every detail."
      },
      "designTabGo": {
        "title": "Try it: open Design",
        "body": "Click the highlighted Design tab — real click, real navigation."
      },
      "designPanel": {
        "title": "Pick a look in one click",
        "body": "Theme presets restyle the whole survey — colors, backgrounds and fonts. Customize goes deeper when you need it."
      },
      "conceptMedia": {
        "title": "Concept tests, animated",
        "body": "Respondents compare concepts side by side. Next stop: the surfaces that build them."
      },
      "videoShowcase": {
        "title": "Video, right inside the tour",
        "body": "Tour steps can play real video — product walkthroughs, customer clips, launch reels — without leaving the page."
      },
      "publishSpot": {
        "title": "Publish when ready",
        "body": "One click takes the survey live and opens sharing options."
      },
      "resultsPeek": {
        "title": "Results, one tab away",
        "body": "Responses, analysis and reports live here. Moving on in a moment."
      },
      "packagingDesignHero": {
        "title": "Design",
        "body": "Pick a dieline, generate designs, and send them straight into testing."
      },
      "conceptTestingList": {
        "title": "Try it: open Concept tests",
        "body": "Click the highlighted concept test to step inside."
      },
      "conceptTestingShell": {
        "title": "Build and results",
        "body": "The concept test is one document; this switches to its results surface."
      },
      "finale": {
        "title": "That is the loop",
        "body": "Build, style, launch, test — all in one place.",
        "surveys": "Surveys and question types",
        "packagingDesign": "Design",
        "conceptTesting": "Concept tests"
      }
    }
  },
  "home": {
    "whatToLearn": "What do you want to learn?",
    "describeGoal": "Describe your research goal and target audience.",
    "generateQuestions": "We'll generate the questions.",
    "startWithTemplates": "Start with Templates",
    "startFromScratch": "Start from Scratch",
    "loadingTeam": "Loading team workspace...",
    "loading": "Loading...",
    "recentSurveys": "Recent surveys",
    "viewAllSurveys": "View all surveys",
    "newSurvey": "New Survey",
    "surveyGoal": "What's your survey goal?",
    "surveyGoalDesc": "Describe your research goal in detail. Tell us who you want to survey, what insights you're looking for, and how you plan to use the results.",
    "ideasForSurvey": "Ideas for your survey",
    "browseTemplate": "Browse template",
    "or": "or",
    "createYourSurvey": "Create Your Survey",
    "createYourSurveyDesc": "Let AI generate it, select a template, or start from scratch.",
    "hideCreatePanel": "Hide Create Survey Panel",
    "howToCreate": "How you'd like to create",
    "letsUseAi": "Generate with AI",
    "letsUseAiDesc": "Describe your goal. We'll generate it.",
    "createWithTemplates": "Use a Template",
    "createWithTemplatesDesc": "Start from a ready-made survey.",
    "startFromScratchDesc": "Build it step by step.",
    "getStarted": "Get Started",
    "examplePlaceholder": "Example: Understand why customers churn after 3 months (B2B SaaS, North America)",
    "addSources": "Add Sources",
    "uploadFile": "Upload File",
    "maxFilesAllowed": "Maximum {{max}} files allowed. You already have {{current}}.",
    "fileSizeLimit": "All files must be under {{size}}MB. These files are too large: {{files}}",
    "insertLink": "Insert Link",
    "generationSettings": "Generation settings",
    "surveyCategory": "Survey Category",
    "surveyCategoryDesc": "Choose a category to optimize question types and structure for your research goals.",
    "additionalOptions": "Additional Options",
    "demographicQuestions": "Demographic Questions",
    "demographicQuestionsDesc": "Include questions about age, gender, location, and other demographic information to segment your results.",
    "attentionCheckQuestions": "Attention Check Questions",
    "attentionCheckQuestionsDesc": "Add verification questions to filter out inattentive respondents and improve data quality.",
    "done": "Done",
    "toggleSidebar": "Toggle sidebar",
    "selectAllSurveys": "Select all surveys",
    "listView": "List view",
    "gridView": "Grid view",
    "published": "Published",
    "draft": "Draft",
    "noneFilter": "None",
    "preview": "Preview",
    "editSurvey": "Edit",
    "surveyActionsLabel": "Survey actions",
    "createTeam": "Create team",
    "openTeamSettings": "Open team settings",
    "describeResearchGoal": "Describe your research goal",
    "generateSurvey": "Generate survey",
    "createSurveyExample1": "Create a survey for our e-commerce store to understand why customers abandon their shopping carts.",
    "createSurveyExample2": "Create a survey for a healthcare startup to gather patient feedback about booking online consultations.",
    "createSurveyExample3": "Create a survey to measure employee engagement and identify what's working and what we can improve.",
    "exampleChip1": "Customer feedback",
    "exampleChip2": "Patient feedback",
    "exampleChip3": "Team engagement",
    "previousItems": "Previous items",
    "nextItems": "Next items",
    "deleteSurveyError": "An error occurred while deleting surveys. Please try again.",
    "empty": {
      "callToAction": "Let's create your first survey.",
      "noSurveysYetDescription": "Your surveys will appear here once you create one.",
      "noSurveysYetTitle": "No surveys yet"
    },
    "viewAll": "View All",
    "createOtherProduct": "Concept test or design",
    "studyStarters": {
      "title": "Start a study",
      "starting": "Opening study setup…",
      "error": "Could not start your study. Please try again.",
      "quiz": {
        "title": "Quizzes",
        "createTitle": "New quiz",
        "placeholder": "What knowledge should participants demonstrate?",
        "submit": "Create quiz",
        "starter1": "Check what participants learned from a training video",
        "starter1Source": "Welcome to new-hire training. Every shift starts with a five-minute team huddle at the front counter. Clock in on the tablet by the staff door, not on your phone. Wash your hands for at least 20 seconds before handling food. If a customer mentions an allergy, tell the shift lead before the order is made. Report any spill or injury to your shift lead right away.",
        "starter2": "Test new staff on workplace recycling rules",
        "starter3": "Five general knowledge questions about geography",
        "starter1Label": "Training video",
        "starter2Label": "Workplace rules",
        "starter3Label": "General knowledge"
      },
      "voice": {
        "title": "Voice studies",
        "description": "AI-led conversations that ask follow-up questions.",
        "action": "Start a voice study",
        "prompt": "Create a voice study with a live AI-moderated conversation and spoken follow-up questions, not a series of prerecorded audio answers. Use the supplied brief and keep any stated audience, language, recruitment, and interview-length requirements. Do not ask again for details already provided. Make an editable first draft with clearly stated assumptions when details are missing.",
        "createTitle": "New voice study",
        "placeholder": "What would you like to explore in the interviews, and with whom?",
        "submit": "Create voice study",
        "starter1": "Why people stopped using the app after week one",
        "starter2": "How small clinics decide on new software",
        "starter3": "What almost stopped people from buying",
        "starter1Label": "Drop-off after week one",
        "starter2Label": "How buyers decide",
        "starter3Label": "Objections before purchase"
      },
      "usability": {
        "title": "Usability tests",
        "description": "Watch people complete tasks, with screen recordings.",
        "action": "Start a usability test",
        "prompt": "Create a usability test with guided tasks and screen recording. Use the supplied brief and preserve any website or prototype URL, target device, audience, language, and tasks. Do not ask again for details already provided. Never invent a target URL; leave it explicitly to be configured if missing. Make an editable first draft with clearly stated assumptions.",
        "createTitle": "New usability test",
        "placeholder": "What website, Android app, or iOS app should people test, and what should they try to do?",
        "submit": "Create usability test",
        "starter1": "Can new users find and start a free trial on our site?",
        "starter2": "Can shoppers complete checkout on our Android app?",
        "starter3": "Can people book an appointment in our prototype?",
        "starter1Label": "Find and start a trial",
        "starter2Label": "Complete a checkout",
        "starter3Label": "Book an appointment"
      },
      "survey": {
        "title": "Surveys",
        "description": "Structured feedback with questions, scales, and branching.",
        "action": "Start a survey",
        "createTitle": "New survey",
        "placeholder": "What do you want to learn, and who will you ask?",
        "submit": "Create survey",
        "starter1": "Why customers cancelled in the last 3 months",
        "starter2": "How people choose between us and a competitor",
        "starter3": "Which of three pricing plans people would pick",
        "starter1Label": "Churn reasons",
        "starter2Label": "Competitor choice",
        "starter3Label": "Pricing preference"
      },
      "concept": {
        "title": "Concept tests",
        "description": "Show ideas or designs and hear which one lands.",
        "action": "Start a concept test",
        "createTitle": "New concept test",
        "placeholder": "What idea, design, or packaging do you want to test, and with whom?",
        "submit": "Create concept test",
        "starter1": "Which of three snack packaging designs feels most premium",
        "starter2": "Which homepage headline explains the product best",
        "starter3": "How a new subscription tier is received by current customers",
        "starter1Label": "Compare packaging",
        "starter2Label": "Compare headlines",
        "starter3Label": "React to a new tier"
      },
      "intro": "Choose a method. We’ll help you turn your question into a study.",
      "newStudy": "New study",
      "homeTitle": "Your research workspace",
      "homeDescription": "Start something new, or keep going.",
      "templates": "Browse templates",
      "blank": "Blank survey",
      "back": "All study types",
      "reviewNote": "Review and refine your study before sharing it with participants.",
      "conceptContinue": "Open concept builder",
      "templateLibrary": {
        "intro": "Start with a ready-made survey, concept test, or design asset. Preview it, then make it yours.",
        "back": "Back to templates",
        "designPreview": "Customize this asset in the design editor, then use it in your research or export it.",
        "customize": "You can edit this template before using it.",
        "close": "Close templates",
        "type": "Template type",
        "topics": "Filter by topic",
        "error": "Templates could not be loaded. Please try again.",
        "clear": "Clear filters",
        "custom": "Create a survey with AI",
        "allTopics": "All topics",
        "showMore": "Show more",
        "previous": "Previous",
        "next": "Next"
      },
      "alternatives": {
        "title": "Other ways to start",
        "templates": "Choose a ready-made starting point and make it yours.",
        "manual": "Open blank editor",
        "survey": "Write your own questions. No AI generation needed.",
        "voice": "Start with a voice interview and write your own discussion goal.",
        "usability": "Add a target link and first task, then open your usability test in the editor.",
        "concept": "Open the concept builder and add your ideas by hand.",
        "conceptTemplates": "Start from a ready-made concept test and make it yours.",
        "import": "Bring in a Qualtrics export, PDF, or Word questionnaire and rebuild it here."
      },
      "startersTitle": "Try an example",
      "language": "Respondent language",
      "searchLanguages": "Search languages…",
      "voiceLanguageNote": "Voice and usability studies run in languages with speech support.",
      "import": "Import an existing study",
      "importOptions": {
        "title": "Import a survey",
        "back": "Back to study creation",
        "intro": "Bring in an existing questionnaire. Choose where your questions are now.",
        "sourceLabel": "Survey source",
        "paste": {
          "title": "Paste questions",
          "description": "Copy from a doc, email, or another survey tool."
        },
        "document": {
          "title": "Upload a document",
          "description": "PDF, Word, text, or Markdown.",
          "hint": "Choose a questionnaire containing questions and answer choices: .pdf, .docx, .txt, or .md."
        },
        "export": {
          "title": "Survey export",
          "description": "Qualtrics (.qsf) or XLSForm (.xlsx).",
          "hint": "Use a Qualtrics survey export (.qsf) or an XLSForm (.xlsx) from tools such as ODK, KoboToolbox, or SurveyCTO. These contain the survey questions and choices, not collected responses."
        },
        "textLabel": "Questions and answer choices",
        "textPlaceholder": "1. How often do you use our product?\n- Every day\n- A few times a week\n- Less often\n\n2. What would you improve?\n(Open text)",
        "textHint": "Include answer choices, section headings, and any branching instructions. Plain text or Markdown works; no special template needed.",
        "chooseFile": "Choose a file",
        "dropHint": "Or drop a file here · Up to 3 MB",
        "replaceFile": "Click to choose a different file · Up to 3 MB",
        "reviewNote": "AI rebuilds your questions as an editable draft. Review the wording, question types, and logic before sharing.",
        "submit": "Import survey",
        "unsupportedFile": "Choose a PDF, Word (.docx), text (.txt), Markdown (.md), Qualtrics (.qsf), or XLSForm (.xlsx) file.",
        "emptyFile": "That file is empty. Choose a file containing your survey questions.",
        "fileTooLarge": "Choose a file up to 3 MB, or paste your questions instead.",
        "emptyText": "Paste your survey questions and answer choices first.",
        "textTooLong": "Keep pasted questions under 99,000 characters, or upload them as a document.",
        "failed": "We could not import your survey. Your source is still here; please try again."
      },
      "importing": "Importing your study…",
      "importError": "That file could not be imported. Try a .qsf export, PDF, Word file, or plain text.",
      "importDisplay": "I uploaded {{fileName}}. Please rebuild it here.",
      "importPrompt": "The user uploaded an existing study, {{fileName}}, as a reference document. Read it and rebuild it in this survey: keep the original questions, their wording, their answer options, and their order. Convert anything this platform supports natively (scales, matrices, branching) rather than approximating it, and list anything you could not carry over so the user can decide what to do about it. Do not invent questions that are not in the uploaded study.",
      "folderLinkFailed": "Your study was created, but could not be added to this folder. You can move it from Studies.",
      "usabilitySetupFailed": "Your template was created, but the usability task could not be added. Add a usability test in the editor.",
      "draftSetupFailed": "Your draft was saved, but its first question could not be added. Finish setup in the editor.",
      "voiceSetupFailed": "Your template was created, but the voice interview could not be added. Add an AI interview and choose voice in the editor.",
      "importUnreadable": "We created the draft but could not read that file. Open the draft and attach it there, or describe your study instead.",
      "importOpenDraft": "Open the draft",
      "templatesTitle": "Templates",
      "templatesSubtitle": "Ready-to-run studies",
      "blankTitle": "Blank study",
      "blankSubtitle": "Build from scratch",
      "cardTitles": {
        "survey": "Survey",
        "quiz": "Quiz",
        "voice": "Voice study",
        "usability": "Usability test",
        "concept": "Concept test",
        "focus": "AI focus group"
      },
      "planFirst": "Plan this with me first",
      "planFirstHint": "Describe your study above, then press Generate to plan it together before any questions are written."
    },
    "studies": {
      "all": "All studies",
      "filterLabel": "Filter studies by method",
      "search": "Search studies",
      "sort": "Sort studies",
      "updated": "Recently updated",
      "created": "Recently created",
      "error": "Your studies could not be loaded. Please try again.",
      "retry": "Try again",
      "loading": "Loading studies…",
      "empty": "No studies match this view. Choose another method, clear your search, or start a study above.",
      "untitled": "Untitled study",
      "open": "Open",
      "more": "Load more",
      "recent": "Recent studies",
      "noneYet": "Your studies will appear here",
      "noneYetDescription": "Choose a study type above to get started.",
      "methodLabels": {
        "survey": "Survey",
        "quiz": "Quiz",
        "voice": "Voice study",
        "usability": "Usability test",
        "concept": "Concept test"
      },
      "statusFilter": "Filter by status",
      "viewAll": "View all studies",
      "libraryDescription": "Find, organize, and continue your research.",
      "selected_one": "{{count}} study selected",
      "selected_other": "{{count}} studies selected",
      "newStudy": "New study",
      "clearTag": "Clear tag filter",
      "tagsHelp": "Filter your studies by tag, or create a tag to organize them.",
      "focusGroups": {
        "description": "Explore ideas in a moderated discussion with AI personas.",
        "provenance": "Responses in these studies are generated by AI personas.",
        "recent": "Recent AI focus groups",
        "viewAll": "View all AI focus groups",
        "open": "Open AI focus groups",
        "addPersonas": "Add AI personas",
        "managePersonas": "AI persona library",
        "personasError": "Your AI personas could not be loaded. Refresh to try again.",
        "error": "Your AI focus groups could not be loaded. Please try again.",
        "topicCount_one": "{{count}} topic",
        "topicCount_other": "{{count}} topics",
        "turnCount_one": "{{count}} message",
        "turnCount_other": "{{count}} messages"
      }
    },
    "upcoming": {
      "title": "Coming soon",
      "hint": "Tap what you would use. Ask us to email you when it is ready.",
      "badge": {
        "soon": "Notify me",
        "beta": "Try it"
      },
      "ask": "Email you when {{feature}} is ready?",
      "yes": "Notify me",
      "no": "Not now",
      "waitlisted": "We'll email you",
      "items": {
        "eyetracking": {
          "title": "Attention map",
          "description": "Predict where the eye lands before you field anything."
        },
        "diary": {
          "title": "Diary study",
          "description": "Follow the same people over days or weeks."
        },
        "video": {
          "title": "Video analysis workspace",
          "description": "AI summaries and clips from recorded sessions."
        },
        "coding": {
          "title": "Qualitative coding workspace",
          "description": "Tag and theme open answers and transcripts."
        },
        "pair": {
          "title": "Pair interview",
          "description": "Interview two people together, like couples or co-founders."
        },
        "tracker": {
          "title": "Brand tracker",
          "description": "Repeat the same survey monthly and watch the trend."
        },
        "tree": {
          "title": "Tree test",
          "description": "Check whether people can find things in your navigation."
        },
        "recruit": {
          "title": "Recruit participants",
          "description": "Find respondents who match your audience."
        }
      }
    },
    "launchpad": {
      "descriptions": {
        "survey": "Questions, scales, and branching.",
        "quiz": "Check knowledge with scored answers.",
        "voice": "AI-led interviews with follow-ups.",
        "usability": "Tasks and screen recordings.",
        "concept": "Compare ideas and designs.",
        "focus": "Discussions with AI personas.",
        "diary": "Follow people over time."
      },
      "existingStudy": "Already have a study?",
      "explore": "Explore features",
      "exploreDescription": "Find the right place for your next research task.",
      "featureGroups": "Feature groups",
      "tools": "Tools",
      "toolsDescription": "Work with responses from your studies or import data to analyze.",
      "analyzeResponses": "Analyze responses",
      "prepareAndManage": "Prepare and manage",
      "codingDescription": "Find themes in open-ended answers and transcripts.",
      "quantitativeDescription": "Explore survey data and compare groups.",
      "designDescription": "Create and edit packaging designs.",
      "exploration": "In exploration",
      "explorationDescription": "Potential additions to the research toolkit. Tell us which you would use.",
      "interested": "I’m interested",
      "interestedIn": "Register interest in {{feature}}",
      "searchRecent": "Search recent studies",
      "noRecentMatches": "No recent studies match. Try another search or filter, or view all studies."
    }
  },
  "responseTime": {
    "slow": "Slow",
    "response_one": "{{count}} response",
    "response_other": "{{count}} responses",
    "loadingTimeAnalytics": "Loading time analytics",
    "failedToLoad": "Failed to load time analytics. Please try again.",
    "noCompletedResponses": "No completed responses yet. Time analytics will appear once respondents finish the survey.",
    "sessionDuration": "Session Duration",
    "avgDuration": "Avg Duration",
    "minDuration": "Min Duration",
    "maxDuration": "Max Duration",
    "completed": "Completed",
    "timePerQuestion": "Time per Question",
    "avgAcrossAll": "avg across all responses"
  },
  "surveyEvents": {
    "maxMindConfidence": "MaxMind confidence score",
    "staticIpScoreTooltip": "The Static IP Score estimates how likely an IP address is to stay fixed over time rather than being reassigned. Scores range from 0–99.99, with higher numbers meaning the IP is more stable (often tied to a home or business). Mobile and cellular IPs usually score very low (under 1.0) since they move between users, while residential broadband often scores above 30. This helps you gauge whether activity is consistently coming from the same place or if an IP change might warrant closer review.",
    "leftTab": "Left tab:",
    "copyEvents": "Copy events:",
    "pasteEvents": "Paste events:",
    "timezone": "Timezone:",
    "screenResolution": "Screen Resolution:",
    "os": "OS:",
    "browser": "Browser:",
    "userIp": "User IP:",
    "staticIpScore": "Static IP Score:",
    "ipRiskSnapshot": "IP Risk Snapshot:",
    "ipRiskSnapshotTooltip": "A historical risk score (0.01–99) reflecting the level of risky activity observed from this IP address over the past 3 days. Higher scores mean higher risk and may warrant closer review of the response.",
    "vpnConfidence": "VPN Confidence:",
    "vpnConfidenceTooltip": "Confidence (1–99%) that this network is currently part of an actively used VPN service. Higher numbers mean the respondent is more likely connecting through a VPN.",
    "vpnProvider": "VPN Provider:",
    "anonymizer": "Anonymizer:",
    "anonymizerYes": "Yes",
    "anonymizerVpn": "VPN",
    "anonymizerPublicProxy": "Public proxy",
    "anonymizerResidentialProxy": "Residential proxy",
    "anonymizerHostingProvider": "Hosting provider",
    "anonymizerTorExitNode": "Tor exit node",
    "userCount": "Users on IP (24h):",
    "userCountTooltip": "Estimated number of users who shared this IP address or network during the past 24 hours. High counts can indicate a shared or proxied connection.",
    "ipTimezone": "IP Timezone:",
    "ipTimezoneTooltip": "The timezone associated with the IP address location. A mismatch with the device timezone shown above can indicate the respondent is masking their location.",
    "anonymizerLastSeen": "Anonymizer Last Seen:",
    "anonymizerLastSeenTooltip": "The last day this network was observed acting as an anonymizer (VPN, proxy, or similar). A recent date means the anonymizing activity is current.",
    "city": "City:",
    "country": "Country:",
    "latitude": "Latitude:",
    "longitude": "Longitude:",
    "postalCode": "Postal Code:",
    "stateAdminArea": "State/Admin Area:",
    "userType": "User Type:",
    "connectionType": "Connection Type:",
    "domain": "Domain:",
    "isp": "ISP:",
    "organization": "Organization:",
    "asn": "ASN:",
    "asOrganization": "AS Organization:",
    "network": "Network:",
    "anycast": "Anycast:",
    "anycastTooltip": "This IP belongs to an anycast network — the same address is announced from multiple locations, so the geolocation may not reflect where the respondent actually is.",
    "mobileCarrier": "Mobile Carrier (MCC/MNC):",
    "accuracyRadius": "Accuracy Radius (km):",
    "accuracyRadiusTooltip": "The approximate radius in kilometers around the latitude and longitude where the IP address is likely located. Larger values mean a less precise location.",
    "registeredCountry": "Registered Country:",
    "registeredCountryTooltip": "The country where the IP address is registered. A mismatch with the geolocated country can indicate the connection is routed through another country.",
    "representedCountry": "Represented Country:",
    "representedCountryTooltip": "The country represented by the users of this IP address — for example, an overseas military base.",
    "euCountry": "EU Country:",
    "averageIncome": "Avg Income (US):",
    "averageIncomeTooltip": "Estimated average annual income in USD for the area around this IP address. Available for US IPs only.",
    "populationDensity": "Population Density (US):",
    "populationDensityTooltip": "Estimated number of people per square kilometer for the area around this IP address. Available for US IPs only.",
    "suspiciousLevel": "Suspicious level:",
    "deleteSurveyError": "An error occurred while deleting surveys. Please try again."
  },
  "userSession": {
    "duration": "Duration:",
    "language": "Language:",
    "date": "Date:",
    "urlParams": "URL params:",
    "persona": "Persona:"
  },
  "accountSettings": {
    "accountPreferences": "Account Preferences",
    "checkEmail": "Check your email.\nMake sure to check your inbox and spam folder.",
    "editBtn": "Edit",
    "update": "Update",
    "updating": "Updating...",
    "resetPassword": "Reset password",
    "deleteAccount": "Delete Account",
    "passwordResetSent": "We've sent a password reset link to your registered email address",
    "goBack": "Go back",
    "openSettingsMenu": "Open settings menu",
    "deleting": "DELETING...",
    "settingsSidebar": {
      "accountPreferences": "Account Preferences",
      "subscriptionBilling": "Subscription & Billing",
      "yourCurrentPlan": "Your Current Plan",
      "creditHistory": "Credit History",
      "paymentMethods": "Payment Methods",
      "invoiceHistory": "Invoice History"
    },
    "back": "Back",
    "homeNav": "Home",
    "surveyNav": "Survey",
    "teamNav": "Team",
    "chatNav": "Chat",
    "loading": "Loading...",
    "nameLabel": "Name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "languageLabel": "Language",
    "notification": "Notification",
    "responseAlerts": "Response Alerts",
    "responseAlertsDesc": "Get notified about new survey responses and comments.",
    "accountNotices": "Account Notices",
    "accountNoticesDesc": "Stay informed about account changes and updates.",
    "questionpunkUpdates": "QuestionPunk Updates",
    "questionpunkUpdatesDesc": "Take your surveys to the next level with helpful updates and expert tips.",
    "deleteWarning": "If you delete your account, all profiles and collected data will be irretrievably lost."
  },
  "surveySettings": {
    "languageSettings": "Language Settings",
    "surveyLanguage": "Survey Language",
    "defineYourSurvey": "Define Your Survey",
    "defineYourSurveyDesc": "Set the title and description for your survey to give respondents a clear understanding of its purpose.",
    "hideChatTitleBar": "Hide title bar",
    "hideChatTitleBarDesc": "Hide the survey title and description shown above the survey content. Useful if your welcome screen already introduces the survey, or if you're embedding it on another page.",
    "surveyTitle": "Survey Title",
    "description": "Description",
    "descriptionPlaceholder": "Tell respondents what this survey is about, what they'll be asked, why it matters, or roughly how long it takes.",
    "appearance": "Appearance & Branding",
    "appearanceDesc": "Customize the look and feel of your survey",
    "qpBranding": "QuestionPunk Branding",
    "qpBrandingDesc": "Show 'Made with QuestionPunk' on your form",
    "qpBrandingDescUpgrade": "Upgrade to Pro to remove QuestionPunk branding from your surveys.",
    "progressBar": "Progress Bar",
    "progressBarDesc": "Show progress indicator to respondents",
    "languageSelector": "Ask respondents to choose a language",
    "languageSelectorDesc": "Show a language-selection screen (each language in its own script) before the survey starts. Recommended for multilingual surveys — reduces drop-off for respondents who don't read the default language.",
    "aiConsentGate": "AI audio interview consent",
    "aiConsentGateToggle": "Show the data-sharing consent screen",
    "aiConsentGateToggleDesc": "Before a voice interview starts, respondents see what is recorded and agree to it.",
    "aiConsentGateOffWarning": "With this off, your own consent text must cover the AI voice recording.",
    "aiConsentGateOffWarningApp": "Respondents using the QuestionPunk mobile app still see the built-in screen.",
    "cookieConsent": "Cookie Consent",
    "cookieConsentDesc": "Display cookie consent notice",
    "accessControl": "Access Control",
    "accessControlDesc": "Manage who can access and respond to your survey",
    "responseLimit": "Response Limit",
    "responseLimitDesc": "Set maximum number of responses",
    "maxResponses": "Max responses",
    "responseLimitLabel": "Response limit",
    "respondentSurfaceTitle": "Respondent surface",
    "respondentSurfaceQuestion": "Where should respondents take this survey?",
    "respondentSurfaceDesc": "Choose whether respondents answer on the web, in the Android app, or either.",
    "respondentSurfaceBoth": "Web & Android app (default)",
    "respondentSurfaceBothDesc": "Respondents can answer on the web or in the QuestionPunk Android app.",
    "respondentSurfaceAppOnly": "Android app only",
    "respondentSurfaceAppOnlyDesc": "Android visitors on the web are prompted to continue in the app. iOS and desktop respondents still answer on the web (there is no iOS app).",
    "respondentSurfaceWebOnly": "Web only",
    "respondentSurfaceWebOnlyDesc": "No app handoff is offered. The Android app opens this survey in the browser instead.",
    "anonymousMode": "Minimize IP and location data",
    "anonymousModeDesc": "Opt in to stop application-level IP and GeoIP collection for future and in-progress responses. This does not erase data already collected or suppress every device, panel, hosting, or operational signal.",
    "screenShareMode": "Screen share mode",
    "screenShareModeDesc": "Ask respondents to share their screen while answering. Recording is on by default; sections can override per-section.",
    "screenShareDesktopRequired": "Require a desktop browser",
    "screenShareDesktopRequiredDesc": "Block survey entry on mobile / browsers without screen capture support.",
    "screenShareRecording": "Record the shared screen",
    "screenShareRecordingDesc": "Save the shared screen alongside the AI audio recording for later review.",
    "scheduleOpenDate": "Schedule Open Date",
    "scheduleOpenDateDesc": "Automatically open survey at a specific date and time",
    "scheduleCloseDate": "Schedule Close Date",
    "scheduleCloseDateDesc": "Automatically close survey at a specific date and time",
    "permanentlyClose": "Permanently close survey to new responses",
    "archiveTooltip": "Archive this survey to stop collecting new responses. You can reopen it later.",
    "browserRestrictions": "Browser Restrictions",
    "browserRestrictionsDesc": "Control browser access and submission behavior",
    "preventMultiple": "Prevent Multiple Submissions",
    "preventMultipleDesc": "Restrict users to one submission using browser cookies",
    "sessionResumption": "Session Resumption",
    "sessionResumptionDesc": "Allow respondents to resume their survey if they refresh or close the page",
    "linkContinuation": "Anyone with the response link can continue",
    "linkContinuationDesc": "Useful for kiosks and integrations, but anyone who has a response's link can read and change its answers.",
    "sessionTimeout": "Session Timeout",
    "blockIncognito": "Block Incognito Mode",
    "blockIncognitoDesc": "Prevent access from private/incognito browsing",
    "blockUnknownBrowsers": "Block Unknown Browsers",
    "blockUnknownBrowsersDesc": "Block browsers not in the list below (e.g., Vivaldi, DuckDuckGo, UC Browser). Many legitimate browsers will be blocked.",
    "browserAccessControl": "Browser Access Control",
    "browserAccessControlDesc": "All browsers are allowed by default. Uncheck to block specific browsers.",
    "browserAccessControlNote": "Note: Some browsers disguise themselves (e.g., Arc/Brave as Chrome, Tor as Firefox, DuckDuckGo as Safari) and will follow those browser's restrictions.",
    "blocked": "(Blocked)",
    "sessionTtl": {
      "1h": "1 hour",
      "6h": "6 hours",
      "12h": "12 hours",
      "24h": "24 hours",
      "48h": "48 hours",
      "72h": "72 hours",
      "7d": "7 days"
    },
    "afterCompletion": "After Completion",
    "afterCompletionDesc": "Configure what happens after respondents submit",
    "redirectUrl": "Redirect URL",
    "redirectUrlDesc": "Send users to a custom URL after completion",
    "invalidUrl": "Please enter a valid URL",
    "redirectUrlPlaceholder": "https://example.com",
    "redirectUrlLabel": "Redirect URL",
    "teamAssignment": "Team Access",
    "teamAssignmentDesc": "Attach this survey to a team. Editors and owners on that team will be able to view and edit it.",
    "team": "Team",
    "teamDesc": "Teams you have editor or owner access to are available.",
    "chooseTeam": "Choose a team",
    "default": "Default"
  },
  "shareTab": {
    "distributionMethod": "Distribution method",
    "shareLink": "Share link",
    "shareLinkDesc": "Copy the link or download the QR code to share your survey.",
    "embedOnSite": "Embed on site",
    "embedOnSiteDesc": "Easily integrate your survey into your own website.",
    "shareWithPanel": "Share with panel",
    "shareWithPanelDesc": "Recruit participants from the Prolific panel.",
    "recruitParticipants": "Recruit participants",
    "recruitParticipantsDesc": "Find and manage participants through QuestionPunk Panel or Prolific.",
    "incentives": "Incentives",
    "incentivesDesc": "Reward respondents with gift cards for completing your survey.",
    "sharingAvailableAfterPublish": "Sharing is available after publishing the survey.",
    "copyLink": "Copy link",
    "copyQr": "Copy QR",
    "downloadQr": "Download QR",
    "enableCustomLink": "Enable custom survey link",
    "copyQrClipboard": "Copy QR code to clipboard",
    "downloadQrImage": "Download QR code as image",
    "shareLinkHeader": "Share link",
    "shareLinkHeaderDesc": "Share survey using a public link, or a custom link.",
    "language": "Language",
    "languageDesc": "The language the survey will be shared",
    "customSurveyLink": "Custom Survey Link",
    "customSurveyLinkDesc": "Create a short and memorable link to share your survey easily.",
    "title": "Title",
    "description": "Description",
    "qrCode": "QR Code",
    "qrCodeDesc": "Copy the link or download the QR code to invite participants.",
    "socialMedia": "Social Media",
    "socialMediaDesc": "Share the survey via social media."
  },
  "recruitment": {
    "title": "Recruit participants",
    "description": "Choose a participant source, define the audience you need, and track recruitment in one place.",
    "providerLabel": "Participant source",
    "questionPunkTitle": "QuestionPunk Panel",
    "questionPunkDescription": "Recruit from reusable participant profiles managed across QuestionPunk.",
    "checkingPanelAvailability": "Checking whether QuestionPunk Panel is available…",
    "prolificTitle": "Prolific",
    "prolificDescription": "Create and manage a study with your connected Prolific workspace.",
    "recommended": "Recommended",
    "audienceTitle": "Build your audience",
    "audienceDescription": "Choose profile attributes from the global question bank. Participants are matched from their existing profiles.",
    "approvedMarketsAvailable": "{{count}} payout-approved markets available",
    "noApprovedMarketsAvailable": "No payout-approved markets are available",
    "marketCompatibilityRail": "Country choices are limited to markets approved for {{rail}}.",
    "marketCompatibilityNeedsIncentive": "Set up the survey reward to see compatible country choices.",
    "noCompatibleCountryOptions": "The previously selected countries are not compatible with this survey’s payout rail. Remove this criterion or choose an approved market.",
    "noCompatibleCountryOptionsSetupIncentive": "Set up the survey reward to unlock country choices for this study.",
    "targetResponses": "Target responses",
    "targetResponsesHelp": "The number of approved, complete responses you need.",
    "addAudienceCriterion": "Audience criteria",
    "chooseProfileQuestion": "Choose a profile question",
    "addCriterion": "Add criterion",
    "removeCriterion": "Remove criterion",
    "chooseCriterionOptions": "Choose at least one answer",
    "searchCriterionOptions": "Search {{question}} options",
    "searchCriterionOptionsHelp": "Selected options stay visible while you search.",
    "searchCriterionOptionsPlaceholder": "Type to filter options…",
    "selectedCriterionOptions": "{{count}} selected",
    "availableCriterionOptionsShown": "Showing {{shown}} of {{total}} available options",
    "matchingCriterionOptionsShown": "Showing {{shown}} of {{total}} matching options",
    "noMatchingCriterionOptions": "No options match your search.",
    "criterionOptionLimit": "Choose up to {{count}} answers for one criterion.",
    "estimateLoading": "Estimating available participants…",
    "estimateUnavailable": "The audience estimate is temporarily unavailable.",
    "retryEstimate": "Retry estimate",
    "estimateBelowThreshold": "Fewer than {{threshold}} matching participants",
    "estimateRange": "{{min}}–{{max}} matching participants",
    "estimateApproximate": "About {{count}} matching participants",
    "privacySafeEstimate": "Estimates are rounded and small groups are suppressed to protect participant privacy.",
    "requirementsTitle": "Set study requirements",
    "requirementsDescription": "Tell participants what the study involves and which devices they can use.",
    "reward": "Reward per response",
    "estimatedRewardBudget": "Estimated reward budget",
    "rewardHelp": "Paid after a response is approved.",
    "rewardFromIncentive": "Uses the active reward configured for this survey.",
    "rewardNeedsIncentive": "Set up the survey reward before launching recruitment.",
    "incentiveConnected": "Reward funding connected",
    "incentiveRequired": "Set up rewards before recruiting",
    "incentiveSummary": "{{reward}} per response · {{available}} funded places available",
    "incentiveRequiredHelp": "Panel recruitment uses the survey’s existing incentive and payout controls.",
    "manageIncentive": "Manage rewards",
    "setUpIncentive": "Set up rewards",
    "rewardNotConfigured": "Not configured",
    "cents": "cents",
    "estimatedDuration": "Estimated duration",
    "estimatedDurationHelp": "A realistic completion time helps participants plan.",
    "minutes": "minutes",
    "allowedDevices": "Allowed devices",
    "allowedDevicesHelp": "Only participants using a selected device can start the study.",
    "participationPolicy": "Participation policy",
    "oneParticipationPerStudy": "Each panel member can take this study once. Repeat participation is disabled for this release.",
    "termsAcknowledgment": "I understand that each accepted place forms a direct agreement between me and the panelist, which QuestionPunk concludes on my behalf as my commercial agent. Rewards are funded from my escrowed budget and collected by QuestionPunk as the panelist's payment collection agent — my escrowed funding satisfies my reward obligation to the panelist. Panelists are independent participants — not employees of me or QuestionPunk — and I will not attempt to identify them or collect their contact details.",
    "devices": {
      "desktop": "Desktop",
      "mobile": "Mobile",
      "tablet": "Tablet"
    },
    "reviewTitle": "Review and launch",
    "reviewDescription": "Confirm the audience and requirements before recruitment begins.",
    "audienceCriteria": "Audience criteria",
    "noCriteriaSummary": "No profile criteria — all eligible QuestionPunk Panel participants can match.",
    "rewardValue": "{{cents}} cents",
    "durationValue": "{{minutes}} minutes",
    "checkingEligibility": "Checking whether this survey is ready to recruit.",
    "enterParticipantCount": "Enter the number of approved responses you need.",
    "completeAudienceCriteria": "Choose at least one answer for every audience criterion.",
    "completeStudyRequirements": "Add an estimated duration and select at least one allowed device.",
    "publishBeforeLaunch": "Publish the survey before launching recruitment.",
    "panelAccessRequired": "QuestionPunk Panel access is required to launch recruitment.",
    "configureIncentiveBeforeLaunch": "Set up and activate rewards before launching recruitment.",
    "noApprovedPayoutMarkets": "No markets are approved for this survey’s payout rail. Ask a panel administrator to approve one before launching.",
    "rewardMustMatchIncentive": "The panel reward must match the active survey reward.",
    "incentiveSlotsRequired": "Only {{available}} funded reward places are currently available.",
    "notEnoughMatches": "The current audience estimate is smaller than the target response count.",
    "launch": "Launch recruitment",
    "launchSuccess": "Recruitment launched.",
    "cancelSuccess": "Recruitment stopped.",
    "loadingSetup": "Loading recruitment setup…",
    "setupUnavailable": "Recruitment setup could not be loaded. Your draft is still here.",
    "retry": "Try again",
    "activeRecruitment": "QuestionPunk Panel recruitment",
    "activeRecruitmentHelp": "Track progress and review participant submissions without leaving the Share tab.",
    "addParticipants": "Add participants",
    "topUpLockedHelp": "Audience, reward, duration, and device requirements stay locked. Increase only the total response target.",
    "currentTarget": "Current target",
    "additionalParticipants": "Additional participants",
    "fundedPlacesAvailable": "Funded places available",
    "newTarget": "New total response target",
    "topUpTargetMustIncrease": "Enter a total greater than the current target of {{target}}.",
    "notEnoughAdditionalMatches": "Only about {{available}} additional matching participants are currently available.",
    "confirmAddParticipants": "Add {{count}} participants",
    "topUpSummary": "This adds {{count}} participants and raises the total target to {{total}}.",
    "topUpSuccess": "{{count}} participants added to this recruitment.",
    "stopRecruitment": "Stop recruitment",
    "stopRecruitmentConfirm": "Stop inviting new participants? Existing submissions will remain available for review.",
    "approvedProgress": "{{approved}} of {{target}} approved responses",
    "progressLabel": "Approved response progress",
    "statuses": {
      "draft": "Draft",
      "launched": "Launched",
      "in_flight": "Recruiting",
      "fulfilled": "Complete",
      "partial": "Partially complete",
      "cancelled": "Stopped",
      "failed": "Failed"
    },
    "counters": {
      "allocated": "Invited",
      "started": "Started",
      "submitted": "Submitted",
      "approved": "Approved"
    },
    "submissionsTitle": "Panel submissions",
    "submissionsDescription": "Review completed responses and release rewards.",
    "resultsReview": {
      "activeHelp": "Track recruitment progress here, then review individual responses and rewards in Results.",
      "title": "Review responses in Results",
      "description": "Results keeps each response, its panel review status, and reward actions together. Use this queue as an operational shortcut.",
      "open": "Open response review",
      "queueDescription": "Operational shortcuts for filtering panel submissions and releasing rewards.",
      "ownerOnly": "Panel incentive review is available only to the survey owner. Collaborators can still review response content in Results."
    },
    "filterLabel": "Status",
    "filters": {
      "all": "All"
    },
    "loadingSubmissions": "Loading submissions…",
    "submissionsUnavailable": "Submissions could not be loaded.",
    "noSubmissions": "No submissions yet.",
    "loadMoreSubmissions": "Load more submissions",
    "anonymousParticipant": "Anonymous participant",
    "submittedAt": "Submitted {{date}}",
    "reviewFlags": "Review flags: {{flags}}",
    "viewResponse": "View response",
    "approve": "Approve",
    "reject": "Reject",
    "confirmReject": "Confirm reject",
    "rejectionReason": "Rejection reason",
    "releasePayout": "Release reward",
    "submissionStatuses": {
      "pending_review": "Pending review",
      "approved": "Approved",
      "auto_approved": "Auto-approved",
      "rejected": "Rejected",
      "paid": "Paid",
      "failed": "Failed"
    },
    "rejectionReasons": {
      "duplicate_identity": "Duplicate identity",
      "low_quality": "Low quality",
      "fraud_signal": "Fraud signal",
      "policy_violation": "Policy violation",
      "off_platform_completion": "Off-platform completion"
    }
  },
  "designTab": {
    "describeDesign": "Modern dark theme with purple accents",
    "back": "Back",
    "background": "Background",
    "chatBackground": "Chat Background",
    "assistantBubble": "Assistant Bubble",
    "userBubble": "User Bubble",
    "sendButton": "Send Button",
    "textColor": "Text Color",
    "applyTheme": "Apply Theme",
    "regenerate": "Regenerate",
    "generate": "Generate"
  },
  "templateLibrary": {
    "startWithTemplates": "Start with Templates",
    "loading": "Loading...",
    "itemsFound": "{{count}} items found",
    "noMatchingTemplate": "We couldn't find a matching template",
    "noMatchingDescription": "Try another search or clear your filters. You can also start a blank survey.",
    "aiGenerate": "AI Generate",
    "startFromScratch": "Start from scratch",
    "createUsingAI": "Create using AI",
    "templates": "Templates",
    "searchTemplate": "Search templates",
    "blank": "Blank",
    "useTemplate": "Use template",
    "preview": "Preview",
    "all": "All",
    "kind": {
      "all": "All templates",
      "survey": "Surveys",
      "concept_test": "Concept tests",
      "design": "Design assets"
    },
    "picker": {
      "library": "Library",
      "startingPoints": "Starting points",
      "topics": "Topics",
      "results": "Template results",
      "heading": "Find your starting point.",
      "subheading": "Browse a template. Make it your own.",
      "popular": "Popular starting points",
      "popularHelp": "Common survey formats for customer, employee, product, and market research.",
      "browse": "Browse templates",
      "preview": "Template preview",
      "selectPreview": "Choose a template to preview what it includes.",
      "about": "About this template",
      "outline": "Survey flow",
      "interviews": "AI interviews",
      "messages": "Intro and closing messages",
      "optional": "Optional",
      "answerChoices_one": "{{count}} answer choice",
      "answerChoices_other": "{{count}} answer choices",
      "questionCount_one": "{{count}} question",
      "questionCount_other": "{{count}} questions",
      "languages": "Draft languages",
      "languagesHelp": "Only the selected translations will be included in your new draft. You can add languages later.",
      "chooseLanguages": "Choose at least one language.",
      "selectAll": "Select all",
      "clearSelection": "Clear",
      "openingLanguage": "Opening language",
      "conceptPreview": "Use this brief as a starting point in the concept testing workspace.",
      "recommendationError": "Starting points could not load. You can still browse the catalog.",
      "starter": {
        "brief": "Starting brief",
        "audience": "Target audience",
        "objective": "What you want to learn",
        "designObjective": "Design goal",
        "style": "Style settings",
        "questions": "Included follow-up questions",
        "scales": "Rating scales",
        "conceptHelp": "Opens an editable concept-test draft with a brief, comparison prompt, follow-up questions, and rating scales. Add your product details and concepts before generating or collecting responses.",
        "designHelp": "Design assets are visuals you can show in a study, such as packaging, logos, app icons, and ad creative. This template opens the design editor with a creative brief and style settings. Customize the brief, then generate or upload your artwork.",
        "designTabHelp": "Create visuals for your research, from packaging and logos to app icons and thumbnails. Start from a creative brief and customize it in the design editor.",
        "conceptTabHelp": "Start a concept test with a brief, comparison questions, and rating scales tailored to what you are testing.",
        "scaleLow": "Not at all",
        "scaleHigh": "Extremely",
        "product": {
          "title": "Product concept test",
          "description": "Compare product ideas to learn which benefits people value, what is unclear, and whether they would consider trying them.",
          "brief": "Compare alternative ideas for [your product or service]. Describe the problem each idea solves, its main benefit, and how it works. Keep the amount of information and visual detail consistent across ideas.",
          "audience": "[People who experience the problem your product is intended to solve]",
          "objective": "Understand which idea best fits a real need and what would need to change before people would try it.",
          "comparison": "Which idea would better meet your needs, and why?",
          "questions": [
            "What do you think this product would do for you?",
            "When would you use it instead of what you do today?",
            "What would stop you from trying it?"
          ],
          "scales": ["Overall appeal", "Relevance to your needs", "Likelihood of trying"]
        },
        "packagingTest": {
          "title": "Packaging redesign test",
          "description": "Compare packaging options for product understanding, visual appeal, and purchase consideration.",
          "brief": "Compare the current packaging for [your product] with proposed alternatives. Keep the product, price, claims, and image size consistent so participants can focus on differences in the packaging.",
          "audience": "[Shoppers who buy products in your category]",
          "objective": "Learn which package communicates the product clearly and why shoppers prefer it.",
          "comparison": "Which package would you be more likely to choose, and why?",
          "questions": [
            "What product do you think is inside this package?",
            "What did you notice first?",
            "What feels clear or confusing about the packaging?"
          ],
          "scales": ["Visual appeal", "Product clarity", "Purchase consideration"]
        },
        "adTest": {
          "title": "Ad creative test",
          "description": "Compare ad directions for message clarity, relevance, and interest in learning more.",
          "brief": "Compare ads for [your product or campaign] on [your channel]. Keep the offer, audience, and format consistent while varying the headline, imagery, or creative direction.",
          "audience": "[People your campaign is intended to reach]",
          "objective": "Identify the clearest and most relevant creative direction and understand what drives interest.",
          "comparison": "Which ad makes you more interested in learning about the product, and why?",
          "questions": [
            "What is the main message of this ad?",
            "What, if anything, feels relevant to you?",
            "What would you expect to happen after clicking?"
          ],
          "scales": ["Message clarity", "Personal relevance", "Interest in learning more"]
        },
        "packagingDesign": {
          "title": "Packaging design",
          "description": "Start a packaging creative brief with a product hierarchy, brand direction, and room for required copy.",
          "brief": "Create a front-of-pack design for [your product] from [your brand]. Include the product name, one main benefit, and space for required information. Adapt the layout to [your package format].",
          "objective": "Create packaging artwork to refine and optionally compare in a concept test.",
          "style": ["Clear hierarchy", "Readable typography", "Product focused"]
        },
        "adDesign": {
          "title": "Ad creative",
          "description": "Start an ad creative brief with a headline, product image, and call to action for your campaign.",
          "brief": "Create an ad for [your product] from [your brand] for [your channel and format]. Feature one clear benefit, a product image, and a call to action. Use only the claims and offer details you provide.",
          "objective": "Create ad artwork to refine and optionally compare in a concept test.",
          "style": ["One clear message", "Strong contrast", "Readable headline"]
        },
        "logoDesign": {
          "title": "Logo design",
          "description": "Start a logo creative brief with a brand name, personality, and requirements for small and large uses.",
          "brief": "Create a logo for [your brand], a [business or product category]. Reflect [your brand personality]. Keep the name legible at small sizes and make the design work in one color as well as full color.",
          "objective": "Create a logo direction to refine and optionally compare in a concept test.",
          "style": ["Simple silhouette", "Legible wordmark", "Distinctive"]
        },
        "logoTest": {
          "title": "Logo preference test",
          "description": "Compare logo directions for brand fit, readability, and distinctiveness.",
          "brief": "Compare logo options for [your brand], a [business category] for [your audience]. Use the same background, display size, and brand description for every option. Include a small-size view of each logo.",
          "audience": "[People who might buy from or use your brand]",
          "objective": "Choose a logo direction that communicates the intended personality and remains easy to recognize.",
          "comparison": "Which logo better fits this brand, and why?",
          "questions": [
            "What kind of company would you expect this logo to represent?",
            "Which details make this logo recognizable or difficult to read?",
            "What would you change to better match the brand?"
          ],
          "scales": ["Brand fit", "Readability", "Distinctiveness"]
        },
        "brandTest": {
          "title": "Brand identity test",
          "description": "Compare visual identities for personality, coherence, and relevance to your audience.",
          "brief": "Compare visual identity directions for [your brand]. Show each direction with a logo, color palette, typography, and the same sample application. Keep the written brand promise identical.",
          "audience": "[People in your intended customer group]",
          "objective": "Understand which identity expresses the intended brand personality across multiple applications.",
          "comparison": "Which identity feels more appropriate for this brand, and why?",
          "questions": [
            "What three words describe the personality of this identity?",
            "How well do the colors, type, and logo belong together?",
            "What feels out of place for the audience or category?"
          ],
          "scales": ["Brand fit", "Visual coherence", "Personal appeal"]
        },
        "iconTest": {
          "title": "App icon test",
          "description": "Compare app icons for recognizability, category fit, and appeal at small sizes.",
          "brief": "Compare icon directions for [your app], which helps people [primary task]. Show each at the same sizes on the same background, including a small-size version. Keep the app description identical.",
          "audience": "[People who use apps in your category]",
          "objective": "Choose an icon that people can distinguish and associate with the purpose of the app.",
          "comparison": "Which icon better represents this app, and why?",
          "questions": [
            "What would you expect an app with this icon to do?",
            "Which details are clear or lost at the smaller size?",
            "What other apps or brands does this remind you of?"
          ],
          "scales": ["Recognizability", "Fit with app purpose", "Visual appeal"]
        },
        "variantTest": {
          "title": "Product variant test",
          "description": "Compare product colors, finishes, or styles while keeping the underlying offer consistent.",
          "brief": "Compare [colors, finishes, or styles] for [your product]. Use the same angle, lighting, background, product description, and price. Vary only the feature you want to evaluate.",
          "audience": "[People who shop for this type of product]",
          "objective": "Learn which variant fits the intended use and what tradeoffs drive preference.",
          "comparison": "Which variant would you choose for your needs, and why?",
          "questions": [
            "Where or when would you use this version?",
            "What do you like or dislike about the color, finish, or style?",
            "What would make another option a better choice for you?"
          ],
          "scales": ["Visual appeal", "Fit for intended use", "Purchase consideration"]
        },
        "nameTest": {
          "title": "Product naming test",
          "description": "Compare candidate names for meaning, relevance, and ease of understanding.",
          "brief": "Compare names for [your product or feature]. Present each name as a simple text card with the same typeface, size, and neutral background. Give every option the same one-sentence product description. Review generated text for exact spelling.",
          "audience": "[People who could use the product or feature]",
          "objective": "Find a name that communicates the intended meaning without unwanted associations.",
          "comparison": "Which name better fits this product, and why?",
          "questions": [
            "What do you think a product with this name would do?",
            "How would you say this name aloud?",
            "What associations or confusing meanings come to mind?"
          ],
          "scales": ["Fit with product purpose", "Ease of understanding", "Appeal"]
        },
        "messageTest": {
          "title": "Value proposition test",
          "description": "Compare benefit statements for comprehension, relevance, and believability.",
          "brief": "Compare value propositions for [your product] aimed at [your audience]. Present each as a text card using identical typography and layout. Keep supporting facts constant and change only the main benefit statement. Verify the exact text before testing.",
          "audience": "[People who experience the problem your product addresses]",
          "objective": "Identify a message people understand, find relevant, and believe based on the evidence provided.",
          "comparison": "Which statement gives you a clearer reason to consider this product, and why?",
          "questions": [
            "In your own words, what is this product promising?",
            "How does this benefit relate to something you need?",
            "What evidence would you need to believe this statement?"
          ],
          "scales": ["Message clarity", "Personal relevance", "Believability"]
        },
        "thumbnailTest": {
          "title": "YouTube thumbnail test",
          "description": "Compare thumbnail directions for topic clarity, visual appeal, and interest in watching.",
          "brief": "Compare thumbnails for [your video topic] aimed at [your viewers]. Keep the video title and thumbnail dimensions identical. Include a small preview and ensure every image accurately represents the video.",
          "audience": "[Viewers interested in the topic of your video]",
          "objective": "Find a thumbnail that sets an accurate expectation and gives viewers a reason to watch.",
          "comparison": "Which thumbnail makes you more interested in this video, and why?",
          "questions": [
            "What would you expect to see in this video?",
            "What caught your attention at the smaller size?",
            "What feels unclear or misleading about the image or text?"
          ],
          "scales": ["Topic clarity", "Visual appeal", "Interest in watching"]
        },
        "labelDesign": {
          "title": "Product label design",
          "description": "Start a label brief with clear product information, visual hierarchy, and space for required copy.",
          "brief": "Design a label for [your product] from [your brand] on [container shape and label area]. Prioritize the product name and variant. Reserve space for the exact ingredients, instructions, and required information you supply.",
          "objective": "Create a readable label concept to review on the intended container before production.",
          "style": [
            "Clear information hierarchy",
            "Readable at actual size",
            "Consistent variant system"
          ]
        },
        "brandDesign": {
          "title": "Brand identity design",
          "description": "Start a coordinated direction for your logo, colors, typography, and sample brand applications.",
          "brief": "Create a visual identity direction for [your brand], serving [your audience]. Express [three personality traits] through a logo, color palette, and typography. Show how the elements work together on [one sample application].",
          "objective": "Create a coherent visual direction that can guide later design work and audience feedback.",
          "style": ["Cohesive palette", "Consistent typography", "Recognizable personality"]
        },
        "iconDesign": {
          "title": "App icon design",
          "description": "Start an icon brief focused on a clear silhouette, category relevance, and small-size recognition.",
          "brief": "Design an app icon for [your app], which helps [your audience] accomplish [primary task]. Explore a recognizable symbol with limited detail. Preview it at small sizes on light and dark backgrounds.",
          "objective": "Create an icon direction that represents the app clearly and can be refined for each platform.",
          "style": ["Simple silhouette", "Strong contrast", "Minimal detail"]
        },
        "imageDesign": {
          "title": "E-commerce product image",
          "description": "Start a product-image brief that shows the item clearly with an accurate, focused composition.",
          "brief": "Create an image of [your product] for [your store or marketplace placement]. Use the actual product references and show [the important feature or use]. Specify [background, crop, and image dimensions]. Keep product proportions, included items, and claims accurate.",
          "objective": "Create a product-image concept to review for accuracy and the requirements of its intended placement.",
          "style": ["Product first", "Clear focal point", "Accurate proportions"]
        },
        "thumbnailDesign": {
          "title": "YouTube thumbnail design",
          "description": "Start a thumbnail brief with a clear focal point, readable text, and an accurate promise about the video.",
          "brief": "Create a thumbnail for a video about [your topic] titled [your video title]. Use [your supplied subject or imagery] and optional short text. Make the topic clear at small sizes and represent what the video actually contains.",
          "objective": "Create a thumbnail direction to refine and optionally compare with other concepts.",
          "style": ["One focal point", "Readable short text", "Strong contrast"]
        },
        "featureConceptTest": {
          "title": "Feature concept test",
          "description": "Choose a feature direction that solves a recurring task. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare alternative feature ideas for [your product]. Describe the same user task, explain how each feature changes it, and keep implementation detail comparable.",
          "audience": "[People who already use your product]",
          "objective": "Choose a feature direction that solves a recurring task.",
          "comparison": "Which feature would improve this task most, and why?",
          "questions": [
            "How do you handle this task today?",
            "Which part of the proposed feature would be useful or unnecessary?",
            "What would keep you from using it?"
          ],
          "scales": ["Task relevance", "Perceived usefulness", "Interest in using"]
        },
        "productBundleTest": {
          "title": "Product bundle test",
          "description": "Choose a bundle whose contents fit a real buying occasion. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare bundles of [your products]. Show the exact contents, quantities, and price of each bundle. Distinguish included items from decorative props.",
          "audience": "[Shoppers considering products in your category]",
          "objective": "Choose a bundle whose contents fit a real buying occasion.",
          "comparison": "Which bundle best fits what you would buy, and why?",
          "questions": [
            "Which items would you actually use?",
            "What feels missing or unnecessary?",
            "How does the bundle compare with buying items separately?"
          ],
          "scales": ["Bundle relevance", "Contents clarity", "Purchase consideration"]
        },
        "subscriptionOfferTest": {
          "title": "Subscription offer test",
          "description": "Find a subscription proposition with understandable value and terms. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare subscription offers for [your product or service]. Use neutral offer cards with the billing amount, cadence, included benefits, and cancellation terms visible.",
          "audience": "[People who regularly need the product or service]",
          "objective": "Find a subscription proposition with understandable value and terms.",
          "comparison": "Which subscription better fits your needs, and why?",
          "questions": [
            "What would you receive and how often would you pay?",
            "What would make this worthwhile compared with buying once?",
            "Which terms would you want explained before subscribing?"
          ],
          "scales": ["Offer clarity", "Perceived value", "Interest in subscribing"]
        },
        "membershipConceptTest": {
          "title": "Membership concept test",
          "description": "Identify membership benefits people can connect to a specific need. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare membership benefit packages for [your community or business]. Show equivalent benefit cards with the joining fee, access rules, and intended member experience.",
          "audience": "[People who might join your membership]",
          "objective": "Identify membership benefits people can connect to a specific need.",
          "comparison": "Which membership would give you more useful benefits, and why?",
          "questions": [
            "Which benefit would you use first?",
            "What would you expect after joining?",
            "What would make you hesitate to become a member?"
          ],
          "scales": ["Benefit relevance", "Membership clarity", "Interest in joining"]
        },
        "serviceConceptTest": {
          "title": "Service concept test",
          "description": "Choose a service promise that fits customer expectations. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare service directions for [your business]. Show the problem, service steps, expected deliverables, and scope boundaries for each alternative.",
          "audience": "[People who experience the problem your service addresses]",
          "objective": "Choose a service promise that fits customer expectations.",
          "comparison": "Which service would better address your situation, and why?",
          "questions": [
            "What would you expect the provider to do?",
            "Which part would you prefer to handle yourself?",
            "What information would you need before contacting the provider?"
          ],
          "scales": ["Need fit", "Scope clarity", "Interest in contacting"]
        },
        "onlineCourseConceptTest": {
          "title": "Online course concept test",
          "description": "Find a course direction with a relevant and credible learning outcome. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare course ideas about [your topic]. Use comparable cards showing prerequisites, learning outcomes, format, expected effort, and proposed price.",
          "audience": "[Learners seeking progress in the skill you teach]",
          "objective": "Find a course direction with a relevant and credible learning outcome.",
          "comparison": "Which course better matches what you want to learn, and why?",
          "questions": [
            "What would you expect to be able to do afterward?",
            "Does the starting level fit your experience?",
            "What would you need to know before enrolling?"
          ],
          "scales": ["Outcome relevance", "Level fit", "Interest in enrolling"]
        },
        "loyaltyRewardTest": {
          "title": "Loyalty reward test",
          "description": "Choose a reward people understand and would consider using. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare reward options for [your loyalty program]. State the earning threshold, reward value, exclusions, and expiry rules consistently across options.",
          "audience": "[Customers who buy from your business repeatedly]",
          "objective": "Choose a reward people understand and would consider using.",
          "comparison": "Which reward would be more useful to you, and why?",
          "questions": [
            "How would you earn and redeem this reward?",
            "What would make the effort worthwhile?",
            "Which restrictions would limit its usefulness?"
          ],
          "scales": ["Reward appeal", "Rule clarity", "Interest in redeeming"]
        },
        "productInstructionTest": {
          "title": "Product instruction test",
          "description": "Choose instructions that communicate the intended sequence clearly. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare visual instruction cards for [your product]. Show the same task with the same number of steps. Use accurate product references and keep warning text identical.",
          "audience": "[People who are new to using the product]",
          "objective": "Choose instructions that communicate the intended sequence clearly.",
          "comparison": "Which instruction card makes the process easier to understand, and why?",
          "questions": [
            "What would you do first based on this card?",
            "Which step is unclear or missing?",
            "What would you need to check on the actual product?"
          ],
          "scales": ["Sequence clarity", "Perceived ease", "Confidence in understanding"]
        },
        "businessNameTest": {
          "title": "Business name test",
          "description": "Choose a business name with appropriate category and personality associations. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare names for [your business]. Use identical text cards and the same business description. Verify spelling and avoid adding a logo to only one name.",
          "audience": "[Potential customers in your intended market]",
          "objective": "Choose a business name with appropriate category and personality associations.",
          "comparison": "Which name better fits this business, and why?",
          "questions": [
            "What kind of business would you expect from this name?",
            "How would you pronounce or spell it after hearing it?",
            "What associations could cause confusion?"
          ],
          "scales": ["Category fit", "Ease of understanding", "Name appeal"]
        },
        "taglineTest": {
          "title": "Tagline test",
          "description": "Choose a tagline that expresses a clear and relevant brand promise. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare taglines for [your brand]. Present each tagline below the same brand name with equal typography and the same supporting description.",
          "audience": "[People your brand wants to reach]",
          "objective": "Choose a tagline that expresses a clear and relevant brand promise.",
          "comparison": "Which tagline communicates a stronger reason to consider this brand, and why?",
          "questions": [
            "What does the tagline mean in your own words?",
            "Which words feel specific or generic?",
            "What would you expect the brand to deliver?"
          ],
          "scales": ["Meaning clarity", "Brand fit", "Relevance"]
        },
        "brandPositioningTest": {
          "title": "Brand positioning test",
          "description": "Identify a positioning direction that feels relevant and distinct. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare positioning statements for [your brand]. Show the same product facts and vary the audience promise or reason to choose the brand. Use a neutral text layout.",
          "audience": "[Buyers who consider products in your category]",
          "objective": "Identify a positioning direction that feels relevant and distinct.",
          "comparison": "Which statement gives this brand a clearer role in your life, and why?",
          "questions": [
            "Who do you think this brand is for?",
            "How does it differ from alternatives you know?",
            "Which part needs evidence or explanation?"
          ],
          "scales": ["Audience fit", "Perceived distinctiveness", "Credibility"]
        },
        "brandStoryTest": {
          "title": "Brand story test",
          "description": "Choose a brand story that connects the origin to a useful customer promise. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare short brand stories for [your business]. Keep factual claims accurate and stories similar in length. Present the same brand and product context.",
          "audience": "[Prospective customers unfamiliar with your history]",
          "objective": "Choose a brand story that connects the origin to a useful customer promise.",
          "comparison": "Which story helps you understand this brand better, and why?",
          "questions": [
            "What part of the story would you retell?",
            "How does the origin relate to the product today?",
            "What feels unclear or overstated?"
          ],
          "scales": ["Story clarity", "Personal relevance", "Credibility"]
        },
        "toneOfVoiceTest": {
          "title": "Tone of voice test",
          "description": "Choose a tone that fits the relationship and communication task. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare versions of [a brand message] in different tones. Keep the information and requested action identical. Vary only the tone and show the same communication context.",
          "audience": "[People who receive communications from your brand]",
          "objective": "Choose a tone that fits the relationship and communication task.",
          "comparison": "Which version sounds more appropriate in this situation, and why?",
          "questions": [
            "How would you describe the voice of this message?",
            "Which wording feels helpful or off-putting?",
            "What would you expect the brand to say next?"
          ],
          "scales": ["Appropriateness", "Clarity", "Trust"]
        },
        "trustMessageTest": {
          "title": "Trust message test",
          "description": "Find reassurance wording that addresses real uncertainty with credible information. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare reassurance messages for [your offer]. Show only guarantees, support commitments, and evidence your business actually provides. Keep the underlying offer unchanged.",
          "audience": "[People who are considering the offer but have concerns]",
          "objective": "Find reassurance wording that addresses real uncertainty with credible information.",
          "comparison": "Which message better addresses your concerns, and why?",
          "questions": [
            "What concern does this message address for you?",
            "Which detail makes the reassurance believable?",
            "What uncertainty would remain before deciding?"
          ],
          "scales": ["Reassurance relevance", "Clarity", "Credibility"]
        },
        "labelHierarchyTest": {
          "title": "Label hierarchy test",
          "description": "Choose a label hierarchy that makes key product information easy to understand. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare label layouts for [your product]. Keep all copy, package size, and colors constant. Vary the placement and prominence of the name, variant, and supporting details.",
          "audience": "[Shoppers in your product category]",
          "objective": "Choose a label hierarchy that makes key product information easy to understand.",
          "comparison": "Which label makes the important information clearer, and why?",
          "questions": [
            "What product and variant do you think this is?",
            "Which information did you notice first?",
            "What feels difficult to locate or read?"
          ],
          "scales": ["Information clarity", "Variant recognition", "Readability"]
        },
        "packagingClaimTest": {
          "title": "Packaging claim test",
          "description": "Identify a benefit claim shoppers understand and find relevant. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare front-of-pack benefit messages for [your product]. Use only substantiated claims supplied by your team. Keep the package, product, typography, and price equivalent.",
          "audience": "[Shoppers who evaluate products like yours]",
          "objective": "Identify a benefit claim shoppers understand and find relevant.",
          "comparison": "Which package gives you a clearer reason to consider this product, and why?",
          "questions": [
            "What does this claim promise in your own words?",
            "What makes the benefit useful or irrelevant?",
            "What proof would you want before believing it?"
          ],
          "scales": ["Claim clarity", "Benefit relevance", "Believability"]
        },
        "sustainabilityMessageTest": {
          "title": "Sustainability message test",
          "description": "Choose wording that communicates the specific environmental information accurately. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare environmental information treatments for [your packaging]. Use documented facts and explain their scope. Keep the package and product unchanged; do not substitute broad green claims for specific evidence.",
          "audience": "[Shoppers interested in the product category]",
          "objective": "Choose wording that communicates the specific environmental information accurately.",
          "comparison": "Which version better explains the environmental information, and why?",
          "questions": [
            "What exactly do you think is better for the environment?",
            "Which part of the package or lifecycle does the statement apply to?",
            "What detail would you need to verify the message?"
          ],
          "scales": ["Scope clarity", "Information usefulness", "Credibility"]
        },
        "unboxingConceptTest": {
          "title": "Unboxing concept test",
          "description": "Choose an unboxing direction that supports the product experience without unnecessary complexity. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare unboxing directions for [your product]. Show comparable still-image sequences with the same product and included contents. State any materials or inserts that differ.",
          "audience": "[People who receive or gift this product]",
          "objective": "Choose an unboxing direction that supports the product experience without unnecessary complexity.",
          "comparison": "Which unboxing direction would suit this purchase better, and why?",
          "questions": [
            "What would you expect when opening the package?",
            "Which elements add value or feel wasteful?",
            "What might make the product harder to access?"
          ],
          "scales": ["Experience appeal", "Product fit", "Perceived practicality"]
        },
        "retailDisplayTest": {
          "title": "Retail display test",
          "description": "Choose a display direction that communicates the product and offer clearly. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare in-store display mockups for [your product]. Use the same shelf context, product count, camera angle, and offer. Treat the images as static concepts, not an attention-tracking exercise.",
          "audience": "[Shoppers who visit the intended store type]",
          "objective": "Choose a display direction that communicates the product and offer clearly.",
          "comparison": "Which display better helps you understand the offer, and why?",
          "questions": [
            "What do you think is being sold here?",
            "Which detail draws your interest or distracts you?",
            "What information would you still need before choosing?"
          ],
          "scales": ["Offer clarity", "Visual appeal", "Purchase consideration"]
        },
        "menuLayoutTest": {
          "title": "Menu layout test",
          "description": "Choose a menu presentation that communicates choices and prices clearly. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare menu layouts for [your restaurant or cafe]. Keep items, descriptions, prices, and image content identical. Compare layout and information hierarchy using readable full-size images.",
          "audience": "[Guests who might order from your menu]",
          "objective": "Choose a menu presentation that communicates choices and prices clearly.",
          "comparison": "Which menu makes choosing an item easier to understand, and why?",
          "questions": [
            "What would you consider ordering and what guided you?",
            "Which description or price is hard to interpret?",
            "What information feels missing for your choice?"
          ],
          "scales": ["Choice clarity", "Readability", "Visual appeal"]
        },
        "adHeadlineTest": {
          "title": "Ad headline test",
          "description": "Choose a headline that expresses the intended benefit clearly. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare headlines for [your campaign]. Keep the ad image, offer, body copy, and format unchanged. Check that every headline is reproduced exactly.",
          "audience": "[People in your campaign audience]",
          "objective": "Choose a headline that expresses the intended benefit clearly.",
          "comparison": "Which headline gives you a clearer reason to learn more, and why?",
          "questions": [
            "What do you think is being offered?",
            "Which words feel relevant or vague?",
            "What would you expect the rest of the ad to explain?"
          ],
          "scales": ["Message clarity", "Relevance", "Interest in learning more"]
        },
        "callToActionTest": {
          "title": "Call to action test",
          "description": "Choose action wording that sets an accurate expectation. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare call-to-action wording for [your offer]. Use the same page or ad screenshot and vary only the action label. Explain the actual next step consistently.",
          "audience": "[People who might take the proposed next step]",
          "objective": "Choose action wording that sets an accurate expectation.",
          "comparison": "Which action label makes the next step clearer, and why?",
          "questions": [
            "What would you expect to happen after choosing it?",
            "What effort or commitment does the wording imply?",
            "What wording would reduce uncertainty?"
          ],
          "scales": ["Next-step clarity", "Expectation fit", "Confidence"]
        },
        "emailSubjectLineTest": {
          "title": "Email subject line test",
          "description": "Choose a subject line that communicates relevant content without misleading expectations. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare subject lines for [your email campaign]. Show the same sender and preview text with each subject line in a neutral inbox-style card. Keep the underlying email content constant.",
          "audience": "[Subscribers who opted in to messages on this topic]",
          "objective": "Choose a subject line that communicates relevant content without misleading expectations.",
          "comparison": "Which subject line makes the email seem more relevant to you, and why?",
          "questions": [
            "What content would you expect inside?",
            "Which words make the subject useful or easy to ignore?",
            "What could feel exaggerated or misleading?"
          ],
          "scales": ["Content clarity", "Relevance", "Interest in reading"]
        },
        "emailCreativeTest": {
          "title": "Email creative test",
          "description": "Choose an email composition with a clear message and next step. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare email layout concepts for [your campaign]. Use static previews with the same offer, copy, sender, and viewport. Compare hierarchy and imagery rather than claiming inbox performance.",
          "audience": "[Subscribers interested in the offer or update]",
          "objective": "Choose an email composition with a clear message and next step.",
          "comparison": "Which email makes the message easier to understand, and why?",
          "questions": [
            "What is the main point of this email?",
            "What action would you think it asks you to take?",
            "Which section feels unnecessary or missing?"
          ],
          "scales": ["Message clarity", "Readability", "Action clarity"]
        },
        "socialPostTest": {
          "title": "Social post test",
          "description": "Choose a post that communicates the announcement and invites relevant interest. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare social post directions for [your announcement]. Use the same platform format and factual announcement. Keep image dimensions and surrounding context equivalent.",
          "audience": "[People who follow content in your category]",
          "objective": "Choose a post that communicates the announcement and invites relevant interest.",
          "comparison": "Which post better communicates this announcement, and why?",
          "questions": [
            "What is new or useful in this post?",
            "Which visual or phrase supports the message?",
            "What would you want to know after seeing it?"
          ],
          "scales": ["Announcement clarity", "Relevance", "Interest in learning more"]
        },
        "promotionalOfferTest": {
          "title": "Promotional offer test",
          "description": "Choose an offer presentation people can interpret accurately. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare promotional messages for [your product]. Show the exact price, discount conditions, dates, and exclusions. Distinguish testing the offer itself from testing how the same offer is worded.",
          "audience": "[Shoppers who might consider your promotion]",
          "objective": "Choose an offer presentation people can interpret accurately.",
          "comparison": "Which offer is more useful for your situation, and why?",
          "questions": [
            "What would you pay and what would you receive?",
            "Which condition could change your decision?",
            "What makes the offer worthwhile or unappealing?"
          ],
          "scales": ["Offer clarity", "Perceived value", "Purchase consideration"]
        },
        "landingPageHeroTest": {
          "title": "Landing page hero test",
          "description": "Choose a first-screen direction that explains the offer and next step. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare hero sections for [your landing page]. Show static hero screenshots at the same viewport size. Keep the offer and supporting evidence consistent across alternatives.",
          "audience": "[Visitors in your intended acquisition audience]",
          "objective": "Choose a first-screen direction that explains the offer and next step.",
          "comparison": "Which hero section better explains why this page matters to you, and why?",
          "questions": [
            "What is this page offering?",
            "Who do you think it is intended for?",
            "What would you expect from the main action?"
          ],
          "scales": ["Offer clarity", "Audience fit", "Next-step clarity"]
        },
        "homepageConceptTest": {
          "title": "Homepage concept test",
          "description": "Choose a homepage direction that explains the business and its main choices. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare homepage visual directions for [your website]. Use static screenshots with equivalent content and viewport size. Include the same navigation labels and primary offer.",
          "audience": "[People visiting your business for the first time]",
          "objective": "Choose a homepage direction that explains the business and its main choices.",
          "comparison": "Which homepage better helps you understand this business, and why?",
          "questions": [
            "What does this company do?",
            "Where would you expect to find the information you need?",
            "Which element is confusing or distracts from the purpose?"
          ],
          "scales": ["Business clarity", "Perceived organization", "Visual appeal"]
        },
        "pricingPageClarityTest": {
          "title": "Pricing page clarity test",
          "description": "Choose a pricing presentation that explains plan differences and billing terms. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare pricing-page layouts for [your product]. Keep plan prices, features, limits, and billing rules identical. Compare static presentation, not willingness to pay or an optimal price.",
          "audience": "[Prospective buyers comparing your plans]",
          "objective": "Choose a pricing presentation that explains plan differences and billing terms.",
          "comparison": "Which pricing page makes the plan differences clearer, and why?",
          "questions": [
            "Which plan appears to fit your needs and what led you there?",
            "What would you expect to pay at checkout and renewal?",
            "Which limit or term needs explanation?"
          ],
          "scales": ["Plan clarity", "Billing clarity", "Decision confidence"]
        },
        "signupScreenTest": {
          "title": "Signup screen concept test",
          "description": "Choose a signup presentation that explains the commitment and next step. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare signup-screen concepts for [your product]. Show static screens with the same fields, offer, and account terms. Keep viewport size fixed and describe the same entry context.",
          "audience": "[People considering creating an account]",
          "objective": "Choose a signup presentation that explains the commitment and next step.",
          "comparison": "Which screen makes creating an account easier to understand, and why?",
          "questions": [
            "What information would you need to provide?",
            "What do you expect after submitting?",
            "What gives you pause before continuing?"
          ],
          "scales": ["Commitment clarity", "Next-step clarity", "Confidence"]
        },
        "onboardingScreenTest": {
          "title": "Onboarding screen test",
          "description": "Choose an onboarding explanation that connects the app to a useful first action. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare onboarding screen directions for [your app]. Use equivalent static screen sequences with the same feature set. State where the person has entered the experience.",
          "audience": "[People using the app for the first time]",
          "objective": "Choose an onboarding explanation that connects the app to a useful first action.",
          "comparison": "Which sequence better explains how to get started, and why?",
          "questions": [
            "What would you try first after reading it?",
            "Which step or phrase is unclear?",
            "What information could be shortened or added?"
          ],
          "scales": ["Starting-step clarity", "Relevance", "Perceived ease"]
        },
        "appStoreScreenshotTest": {
          "title": "App store screenshot test",
          "description": "Choose screenshots that explain the app's useful features and fit. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare store screenshot directions for [your app]. Use the same device frame, number of screenshots, and app facts. Keep interface imagery accurate and text readable at preview size.",
          "audience": "[People exploring apps in your category]",
          "objective": "Choose screenshots that explain the app's useful features and fit.",
          "comparison": "Which screenshot set better explains the app, and why?",
          "questions": [
            "What could you accomplish with this app?",
            "Which feature seems most useful to you?",
            "What important detail is hard to read or missing?"
          ],
          "scales": ["Feature clarity", "Personal relevance", "Interest in trying"]
        },
        "bookCoverTest": {
          "title": "Book cover test",
          "description": "Choose a cover that signals the intended genre and reading experience. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare cover directions for [your book]. Keep the title, author, format, and description identical. Include a small cover preview for every direction.",
          "audience": "[Readers who choose books in the intended genre]",
          "objective": "Choose a cover that signals the intended genre and reading experience.",
          "comparison": "Which cover better fits a book you would consider reading, and why?",
          "questions": [
            "What genre or story would you expect?",
            "Which visual or type treatment shapes that expectation?",
            "What feels hard to read or mismatched?"
          ],
          "scales": ["Genre fit", "Readability", "Interest in reading"]
        },
        "bookTitleTest": {
          "title": "Book title test",
          "description": "Choose a title that creates the intended expectation and curiosity. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare titles for [your book]. Show titles with the same subtitle, author, and short description in neutral typography. Verify exact wording.",
          "audience": "[Readers interested in the book's topic or genre]",
          "objective": "Choose a title that creates the intended expectation and curiosity.",
          "comparison": "Which title gives you a clearer reason to explore this book, and why?",
          "questions": [
            "What would you expect the book to be about?",
            "Which word or phrase creates curiosity?",
            "What feels confusing or too familiar?"
          ],
          "scales": ["Topic clarity", "Distinctiveness", "Interest in reading"]
        },
        "bookBlurbTest": {
          "title": "Book blurb test",
          "description": "Choose a blurb that explains the premise and gives readers a reason to continue. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare short descriptions for [your book]. Use comparable text lengths with the same title and cover. Avoid revealing different amounts of the plot in ways that confound the comparison.",
          "audience": "[Readers who browse books in the intended genre]",
          "objective": "Choose a blurb that explains the premise and gives readers a reason to continue.",
          "comparison": "Which blurb makes the book more interesting to you, and why?",
          "questions": [
            "What central story or argument do you expect?",
            "Which detail creates interest or loses your attention?",
            "What do you need to know before deciding to read?"
          ],
          "scales": ["Premise clarity", "Genre fit", "Interest in reading"]
        },
        "podcastCoverTest": {
          "title": "Podcast cover test",
          "description": "Choose podcast artwork that communicates the topic and tone at small sizes. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare cover artwork for [your podcast]. Use the same show name and description, with equal square dimensions and small previews. Verify all lettering.",
          "audience": "[Listeners interested in the show's subject]",
          "objective": "Choose podcast artwork that communicates the topic and tone at small sizes.",
          "comparison": "Which cover better represents a show you would explore, and why?",
          "questions": [
            "What topic and tone would you expect?",
            "What is clear or hard to read at small size?",
            "Which detail feels unrelated to the show?"
          ],
          "scales": ["Topic clarity", "Readability", "Interest in listening"]
        },
        "newsletterPositioningTest": {
          "title": "Newsletter positioning test",
          "description": "Choose a newsletter promise that communicates useful content and a clear audience. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare newsletter promises for [your publication]. Use the same sample issue and frequency. Vary only the positioning statement and keep text presentation consistent.",
          "audience": "[Readers who follow the topic you cover]",
          "objective": "Choose a newsletter promise that communicates useful content and a clear audience.",
          "comparison": "Which promise gives you a clearer reason to subscribe, and why?",
          "questions": [
            "What would you expect to receive each issue?",
            "How would this fit what you already read?",
            "What would make the newsletter worth your time?"
          ],
          "scales": ["Content clarity", "Relevance", "Interest in subscribing"]
        },
        "webinarInvitationTest": {
          "title": "Webinar invitation test",
          "description": "Choose an invitation that explains the session's value and who it is for. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare invitations for [your webinar]. Keep the date, speaker, topic, format, and registration conditions fixed. Compare the headline and benefit framing.",
          "audience": "[People who might benefit from the session]",
          "objective": "Choose an invitation that explains the session's value and who it is for.",
          "comparison": "Which invitation gives you a clearer reason to attend, and why?",
          "questions": [
            "What would you expect to learn?",
            "Does the session seem suitable for your experience level?",
            "What information would you need before registering?"
          ],
          "scales": ["Outcome clarity", "Audience fit", "Interest in attending"]
        },
        "productHeroImageTest": {
          "title": "Product hero image test",
          "description": "Choose a main image that represents the product clearly and accurately. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare main images for [your product listing]. Use actual product references with the same crop size and price context. Make included items distinguishable from props.",
          "audience": "[Shoppers comparing products in your category]",
          "objective": "Choose a main image that represents the product clearly and accurately.",
          "comparison": "Which image better helps you understand the product, and why?",
          "questions": [
            "What do you think is included in the purchase?",
            "Which feature or detail is easy to see?",
            "What could misrepresent the size or contents?"
          ],
          "scales": ["Product clarity", "Visual appeal", "Purchase consideration"]
        },
        "listingInfographicTest": {
          "title": "Listing infographic test",
          "description": "Choose an infographic that explains product benefits without adding confusion. Start with a comparison brief, follow-up questions, and rating scales.",
          "brief": "Compare feature infographics for [your product listing]. Use the same verified specifications and benefits in each layout. Keep dimensions and text size comparable.",
          "audience": "[Shoppers evaluating your product's features]",
          "objective": "Choose an infographic that explains product benefits without adding confusion.",
          "comparison": "Which graphic makes the product features clearer, and why?",
          "questions": [
            "Which benefit do you understand from this image?",
            "Which label or number needs explanation?",
            "What would you want to verify about the product?"
          ],
          "scales": ["Feature clarity", "Readability", "Information usefulness"]
        },
        "productConceptCard": {
          "title": "Product concept card",
          "description": "Make an early product idea concrete enough for audience feedback. Customize the creative brief and style settings.",
          "brief": "Create a product idea card for [your concept]. Include the customer problem, one main benefit, a simple illustration, and a short explanation of how it works. Use equivalent information if creating alternatives.",
          "objective": "Make an early product idea concrete enough for audience feedback.",
          "style": ["Clear benefit", "Neutral layout", "Comparable detail"]
        },
        "featureAnnouncementGraphic": {
          "title": "Feature announcement graphic",
          "description": "Communicate what changed and why an existing user might care. Customize the creative brief and style settings.",
          "brief": "Create a feature announcement for [your product update]. Show the actual feature, explain the task it improves, and include one short headline. Specify the channel, dimensions, and exact release wording.",
          "objective": "Communicate what changed and why an existing user might care.",
          "style": ["Feature focused", "Clear headline", "Accurate interface"]
        },
        "productBundleImage": {
          "title": "Product bundle image",
          "description": "Make the bundle contents easy to understand before purchase. Customize the creative brief and style settings.",
          "brief": "Create a bundle image for [your product set]. Use references for every included item. Show quantities and relative sizes accurately, and separate accessories or props that are not included.",
          "objective": "Make the bundle contents easy to understand before purchase.",
          "style": ["Clear grouping", "Accurate proportions", "Uncluttered background"]
        },
        "serviceOverviewGraphic": {
          "title": "Service overview graphic",
          "description": "Explain what the service includes and how a customer gets started. Customize the creative brief and style settings.",
          "brief": "Create a service overview for [your business]. State the customer problem, the main service steps, and the actual deliverables. Supply exact copy and any scope exclusions that need prominence.",
          "objective": "Explain what the service includes and how a customer gets started.",
          "style": ["Step hierarchy", "Plain labels", "Clear next step"]
        },
        "coursePromoGraphic": {
          "title": "Course promotion graphic",
          "description": "Help prospective learners recognize the course's intended level and outcome. Customize the creative brief and style settings.",
          "brief": "Create a course promotion for [your course]. Provide the topic, intended learner, prerequisites, format, and learning outcome. Use the real instructor or supplied subject imagery and exact enrollment details.",
          "objective": "Help prospective learners recognize the course's intended level and outcome.",
          "style": ["Outcome focused", "Readable title", "Clear audience"]
        },
        "loyaltyCardDesign": {
          "title": "Loyalty card design",
          "description": "Create a card customers can understand and staff can use consistently. Customize the creative brief and style settings.",
          "brief": "Create a physical loyalty card for [your business]. Specify card dimensions, brand elements, reward rules, and how progress is recorded. Reserve room for readable terms and any supplied redemption code.",
          "objective": "Create a card customers can understand and staff can use consistently.",
          "style": ["Simple progress system", "Legible terms", "Recognizable brand"]
        },
        "businessCardDesign": {
          "title": "Business card design",
          "description": "Make the person, organization, and contact details easy to recognize. Customize the creative brief and style settings.",
          "brief": "Create a business card for [your person or company]. Supply the exact name, role, contact information, logo, and card dimensions. Identify the primary contact action and any required front-and-back content.",
          "objective": "Make the person, organization, and contact details easy to recognize.",
          "style": ["Clear hierarchy", "Readable contact details", "Restrained composition"]
        },
        "letterheadDesign": {
          "title": "Letterhead design",
          "description": "Create a branded document surface that keeps correspondence readable. Customize the creative brief and style settings.",
          "brief": "Create a letterhead direction for [your organization]. Supply the logo, address, contact details, and page size. Keep a generous writing area and show the design with realistic sample correspondence.",
          "objective": "Create a branded document surface that keeps correspondence readable.",
          "style": ["Generous whitespace", "Subtle branding", "Consistent margins"]
        },
        "brandMoodboard": {
          "title": "Brand moodboard",
          "description": "Explore a visual atmosphere before committing to a full identity. Customize the creative brief and style settings.",
          "brief": "Create a visual moodboard for [your brand direction]. Describe the audience and intended personality. Combine color, typography references, imagery, and texture into one coherent board with clear labels.",
          "objective": "Explore a visual atmosphere before committing to a full identity.",
          "style": ["Cohesive references", "Intentional palette", "Clear personality"]
        },
        "iconSetDesign": {
          "title": "Icon set design",
          "description": "Develop a coherent direction for icons that need to work together. Customize the creative brief and style settings.",
          "brief": "Create a small icon family for [your product or brand]. List the exact concepts each icon represents. Specify outline or filled treatment, consistent stroke weight, corner style, and intended display size.",
          "objective": "Develop a coherent direction for icons that need to work together.",
          "style": ["Consistent stroke", "Simple shapes", "Shared visual weight"]
        },
        "brandMascotDesign": {
          "title": "Brand mascot design",
          "description": "Create a character concept with a recognizable personality and silhouette. Customize the creative brief and style settings.",
          "brief": "Create a mascot direction for [your brand]. Describe the audience, personality, and role of the character. Specify pose, expression, distinguishing features, and the first intended application.",
          "objective": "Create a character concept with a recognizable personality and silhouette.",
          "style": ["Distinct silhouette", "Expressive face", "Brand appropriate"]
        },
        "socialProfileAvatar": {
          "title": "Social profile avatar",
          "description": "Create a profile image that remains recognizable in small circular crops. Customize the creative brief and style settings.",
          "brief": "Create a profile avatar for [your brand or creator]. Supply the logo or subject reference, desired expression or symbol, and platform. Keep the important content inside a central crop-safe area.",
          "objective": "Create a profile image that remains recognizable in small circular crops.",
          "style": ["Centered focal point", "Strong contrast", "Minimal detail"]
        },
        "subscriptionBoxDesign": {
          "title": "Subscription box design",
          "description": "Create a repeatable package direction that connects multiple deliveries. Customize the creative brief and style settings.",
          "brief": "Create a subscription box for [your recurring product selection]. Specify box shape, brand, contents, and what changes between deliveries. Keep the recurring identity recognizable while leaving room for edition details.",
          "objective": "Create a repeatable package direction that connects multiple deliveries.",
          "style": ["Consistent identity", "Edition area", "Clear branding"]
        },
        "shippingBoxDesign": {
          "title": "Shipping box design",
          "description": "Make the delivery recognizable without obscuring operational information. Customize the creative brief and style settings.",
          "brief": "Create a shipping box exterior for [your store]. Supply box format, brand references, print limitations, and required shipping-label space. Keep the label and handling areas easy to distinguish.",
          "objective": "Make the delivery recognizable without obscuring operational information.",
          "style": ["Simple print treatment", "Clear label area", "Durable visual hierarchy"]
        },
        "pouchPackagingDesign": {
          "title": "Pouch packaging design",
          "description": "Explore front-of-pouch hierarchy that makes the product and variant clear. Customize the creative brief and style settings.",
          "brief": "Create a pouch package for [your product]. Specify pouch shape, seal area, product name, variant, and exact claims. Keep key content away from folds and reserve room for required information.",
          "objective": "Explore front-of-pouch hierarchy that makes the product and variant clear.",
          "style": ["Strong product name", "Variant system", "Readable front panel"]
        },
        "bottlePackagingDesign": {
          "title": "Bottle packaging design",
          "description": "Explore a bottle presentation that communicates the product accurately. Customize the creative brief and style settings.",
          "brief": "Create a bottle packaging direction for [your product]. Supply bottle shape, cap style, label area, contents, and actual product references. Show the design on the intended container with realistic proportions.",
          "objective": "Explore a bottle presentation that communicates the product accurately.",
          "style": ["Container fit", "Clear front view", "Recognizable variant"]
        },
        "jarLabelDesign": {
          "title": "Jar label design",
          "description": "Create a readable front hierarchy on a curved container. Customize the creative brief and style settings.",
          "brief": "Create a jar label for [your product]. Specify jar dimensions and label coverage. Include exact product name, variant, and supplied information, accounting for content that wraps out of view.",
          "objective": "Create a readable front hierarchy on a curved container.",
          "style": ["Front-facing priority", "Wrap-aware layout", "Clear product identity"]
        },
        "foodLabelDesign": {
          "title": "Food label design",
          "description": "Explore a food label layout using verified copy and accurate product cues. Customize the creative brief and style settings.",
          "brief": "Create a food-product label for [your item]. Supply the exact product copy and all required information reviewed by your team. Specify package format and reserve readable areas for ingredients and other supplied details.",
          "objective": "Explore a food label layout using verified copy and accurate product cues.",
          "style": ["Clear product name", "Readable information", "Accurate food imagery"]
        },
        "cosmeticLabelDesign": {
          "title": "Cosmetic label design",
          "description": "Explore a label that distinguishes the product and its intended use. Customize the creative brief and style settings.",
          "brief": "Create a cosmetic-product label for [your item]. Supply the container, exact product name, variant, instructions, and reviewed claims. Set aside space for ingredient and other required information supplied by your team.",
          "objective": "Explore a label that distinguishes the product and its intended use.",
          "style": ["Clear product function", "Legible small copy", "Consistent range identity"]
        },
        "thankYouInsert": {
          "title": "Thank-you insert design",
          "description": "Create an insert that feels relevant to receiving and using the order. Customize the creative brief and style settings.",
          "brief": "Create a thank-you insert for [your customer order]. Specify card size, brand voice, message, and one helpful next step. Use the actual support or product-care details and keep promotional copy secondary.",
          "objective": "Create an insert that feels relevant to receiving and using the order.",
          "style": ["Warm voice", "One clear action", "Readable card layout"]
        },
        "instructionInsert": {
          "title": "Product instruction insert",
          "description": "Create a visual instruction concept to review against the actual product. Customize the creative brief and style settings.",
          "brief": "Create an instruction insert for [your product]. Supply the verified setup sequence, accurate product references, and required warnings. Specify the physical size and use short numbered steps.",
          "objective": "Create a visual instruction concept to review against the actual product.",
          "style": ["Numbered sequence", "Clear diagrams", "Readable warnings"]
        },
        "retailDisplayDesign": {
          "title": "Retail display design",
          "description": "Explore a display direction before preparing installation specifications. Customize the creative brief and style settings.",
          "brief": "Create a retail display mockup for [your product]. Describe the store setting, display footprint, product count, offer, and exact headline. Show realistic product scale and keep the purchase information visible.",
          "objective": "Explore a display direction before preparing installation specifications.",
          "style": ["Product visibility", "Clear offer", "Simple hierarchy"]
        },
        "restaurantMenuDesign": {
          "title": "Restaurant menu design",
          "description": "Create a menu direction that keeps choices and prices easy to compare. Customize the creative brief and style settings.",
          "brief": "Create a menu layout for [your restaurant or cafe]. Supply exact item names, descriptions, prices, categories, and menu size. Identify any required information and use accurate imagery only where useful.",
          "objective": "Create a menu direction that keeps choices and prices easy to compare.",
          "style": ["Clear categories", "Legible prices", "Consistent spacing"]
        },
        "productHangtagDesign": {
          "title": "Product hangtag design",
          "description": "Create a compact tag that communicates the product's key information. Customize the creative brief and style settings.",
          "brief": "Create a hangtag for [your product]. Specify tag shape, dimensions, hole position, brand, and supplied product information. Give the front and back distinct priorities and protect important text from the attachment area.",
          "objective": "Create a compact tag that communicates the product's key information.",
          "style": ["Compact hierarchy", "Clear brand", "Attachment-safe layout"]
        },
        "socialFeedAdDesign": {
          "title": "Social feed ad design",
          "description": "Create a feed composition with one clear benefit and action. Customize the creative brief and style settings.",
          "brief": "Create a feed ad for [your social campaign]. Specify the platform and crop, actual offer, product references, short headline, and call to action. Keep essential content readable in a small feed preview.",
          "objective": "Create a feed composition with one clear benefit and action.",
          "style": ["One focal point", "Short headline", "Mobile readability"]
        },
        "storyAdDesign": {
          "title": "Story ad design",
          "description": "Create a vertical creative direction that preserves the message under interface overlays. Customize the creative brief and style settings.",
          "brief": "Create a vertical story ad for [your campaign]. Supply the exact offer and dimensions. Keep headline, product, and action inside the placement's safe area, leaving room for platform overlays.",
          "objective": "Create a vertical creative direction that preserves the message under interface overlays.",
          "style": ["Vertical hierarchy", "Crop-safe content", "Strong focal point"]
        },
        "displayBannerDesign": {
          "title": "Display banner design",
          "description": "Create a compact ad composition that communicates the offer at a glance. Customize the creative brief and style settings.",
          "brief": "Create a display banner for [your campaign]. Specify the exact banner dimensions, brand, short benefit statement, product reference, and call to action. Design for the small space without adding unsupported claims.",
          "objective": "Create a compact ad composition that communicates the offer at a glance.",
          "style": ["Concise copy", "Clear contrast", "Simple composition"]
        },
        "emailHeaderDesign": {
          "title": "Email header design",
          "description": "Create a header image that introduces the email's main message clearly. Customize the creative brief and style settings.",
          "brief": "Create an email header graphic for [your campaign]. Supply the email topic, exact headline, brand references, and target image dimensions. Keep important wording large enough for a mobile preview.",
          "objective": "Create a header image that introduces the email's main message clearly.",
          "style": ["Readable headline", "Responsive crop", "Brand consistency"]
        },
        "salePromotionDesign": {
          "title": "Sale promotion design",
          "description": "Create a promotion that communicates the real offer and its limits. Customize the creative brief and style settings.",
          "brief": "Create a sale promotion graphic for [your offer]. Supply the actual discount, eligible items, dates, exclusions, and channel dimensions. Make the conditions readable and separate the offer from decorative elements.",
          "objective": "Create a promotion that communicates the real offer and its limits.",
          "style": ["Clear offer hierarchy", "Readable conditions", "Focused product image"]
        },
        "eventPosterDesign": {
          "title": "Event poster design",
          "description": "Create a poster that communicates what, when, and where clearly. Customize the creative brief and style settings.",
          "brief": "Create a poster for [your event]. Supply the exact event name, date, time, venue, audience, and registration details. Specify print or digital dimensions and the most important viewing distance.",
          "objective": "Create a poster that communicates what, when, and where clearly.",
          "style": ["Strong title", "Readable logistics", "Clear next step"]
        },
        "webinarPromoDesign": {
          "title": "Webinar promotion design",
          "description": "Create an invitation graphic with a clear topic and attendance details. Customize the creative brief and style settings.",
          "brief": "Create a webinar promotional graphic for [your session]. Supply the topic, learning outcome, speaker reference, date, time zone, and registration action. Specify the placement and exact copy.",
          "objective": "Create an invitation graphic with a clear topic and attendance details.",
          "style": ["Outcome hierarchy", "Readable schedule", "Credible speaker presentation"]
        },
        "recruitmentAdDesign": {
          "title": "Recruitment ad design",
          "description": "Create a hiring graphic that makes the role and application step clear. Customize the creative brief and style settings.",
          "brief": "Create a recruitment graphic for [your open role]. Supply the role title, work location or remote arrangement, accurate job details, and application action. Use inclusive imagery appropriate to the actual workplace.",
          "objective": "Create a hiring graphic that makes the role and application step clear.",
          "style": ["Clear role title", "Accurate workplace cues", "Readable next step"]
        },
        "landingHeroGraphic": {
          "title": "Landing page hero graphic",
          "description": "Create a visual that supports the landing-page message without competing with it. Customize the creative brief and style settings.",
          "brief": "Create a hero illustration for [your landing page]. Describe the product, primary benefit, page layout, and space reserved for live headline text. Supply accurate product references and specify image dimensions.",
          "objective": "Create a visual that supports the landing-page message without competing with it.",
          "style": ["Clear focal point", "Text-safe composition", "Relevant imagery"]
        },
        "appStoreScreenshotDesign": {
          "title": "App store screenshot design",
          "description": "Create a screenshot direction that explains one useful app capability. Customize the creative brief and style settings.",
          "brief": "Create a store screenshot composition for [your app]. Supply the actual interface screenshot, device format, short feature headline, and required image dimensions. Keep app behavior and interface content accurate.",
          "objective": "Create a screenshot direction that explains one useful app capability.",
          "style": ["Accurate interface", "Readable benefit", "Consistent device framing"]
        },
        "onboardingIllustration": {
          "title": "Onboarding illustration",
          "description": "Support a clear first step without adding distracting visual detail. Customize the creative brief and style settings.",
          "brief": "Create an onboarding illustration for [your app's first-use step]. Describe the specific task, intended emotion, interface context, and available image area. Keep the illustration focused on the action the screen explains.",
          "objective": "Support a clear first step without adding distracting visual detail.",
          "style": ["Task focused", "Simple shapes", "Calm hierarchy"]
        },
        "emptyStateIllustration": {
          "title": "Empty state illustration",
          "description": "Make the empty state approachable while supporting a useful next action. Customize the creative brief and style settings.",
          "brief": "Create an empty-state illustration for [your product screen]. Explain why the screen is empty and the actual next action. Specify the image area and existing UI style; leave instruction text to the surrounding interface.",
          "objective": "Make the empty state approachable while supporting a useful next action.",
          "style": ["Light visual weight", "Contextual metaphor", "Uncluttered composition"]
        },
        "bookCoverDesign": {
          "title": "Book cover design",
          "description": "Explore a cover direction that signals the genre and keeps the title readable. Customize the creative brief and style settings.",
          "brief": "Create a front cover for [your book]. Supply the exact title, author, genre, premise, and intended format. Specify dimensions and review both a large image and a small retail preview.",
          "objective": "Explore a cover direction that signals the genre and keeps the title readable.",
          "style": ["Genre appropriate", "Strong title hierarchy", "Thumbnail readability"]
        },
        "podcastCoverDesign": {
          "title": "Podcast cover design",
          "description": "Create cover artwork that communicates the show's subject and personality. Customize the creative brief and style settings.",
          "brief": "Create cover artwork for [your podcast]. Supply the exact show name, topic, tone, and any host imagery. Use a square composition and keep the name recognizable at small sizes.",
          "objective": "Create cover artwork that communicates the show's subject and personality.",
          "style": ["Square composition", "Readable show name", "Distinctive focal point"]
        },
        "newsletterMastheadDesign": {
          "title": "Newsletter masthead design",
          "description": "Create a recognizable publication header that can recur across issues. Customize the creative brief and style settings.",
          "brief": "Create a masthead for [your newsletter]. Supply the publication name, topic, personality, and intended header dimensions. Keep the design legible in a narrow email layout and separate it from issue-specific copy.",
          "objective": "Create a recognizable publication header that can recur across issues.",
          "style": ["Consistent identity", "Narrow-layout readability", "Simple typography"]
        },
        "infographicDesign": {
          "title": "Infographic design",
          "description": "Create an explanatory visual direction that makes the supplied information easier to follow. Customize the creative brief and style settings.",
          "brief": "Create an infographic for [your explanation or dataset]. Supply the verified facts, units, labels, source notes, and intended reading order. Use appropriate visual encodings and never invent missing values.",
          "objective": "Create an explanatory visual direction that makes the supplied information easier to follow.",
          "style": ["Clear reading order", "Accurate labels", "Restrained decoration"]
        },
        "productComparisonGraphic": {
          "title": "Product comparison graphic",
          "description": "Create a comparison layout that helps shoppers understand real product differences. Customize the creative brief and style settings.",
          "brief": "Create a comparison graphic for [your product range]. Supply accurate features, specifications, units, and product references for every option. Use the same comparison criteria and make meaningful differences clear.",
          "objective": "Create a comparison layout that helps shoppers understand real product differences.",
          "style": ["Aligned criteria", "Readable labels", "Consistent product views"]
        },
        "productSizeGuide": {
          "title": "Product size guide design",
          "description": "Create a guide layout that helps customers interpret the supplied sizing information. Customize the creative brief and style settings.",
          "brief": "Create a size-guide graphic for [your product]. Supply verified measurements, units, fit instructions, and accurate product diagrams. Explain how measurements are taken and do not infer missing dimensions.",
          "objective": "Create a guide layout that helps customers interpret the supplied sizing information.",
          "style": ["Clear units", "Accurate diagram labels", "Readable table hierarchy"]
        }
      },
      "research": {
        "heading": "Browse by research method",
        "voice": "Voice interviews",
        "text": "Text interviews",
        "usability": "Usability tests",
        "objective": "Research objective",
        "audience": "Who to invite",
        "prepare": "Customize before launching",
        "interpretation": "How to use the findings",
        "questions": "Discussion guide",
        "tasks": "Participant tasks",
        "successCriteria": "Researcher success criteria",
        "usabilityHelp": "Add your website or prototype URL to each task and review the scenarios before launching. Screen sharing is enabled; the moderator observes without giving task hints.",
        "voiceHelp": "A voice interview draft with a research goal and discussion prompts. Customize the bracketed details and review voice settings before launching.",
        "textHelp": "A written interview draft with a research goal and discussion prompts. Customize the bracketed details before launching.",
        "postTaskQuestions": [
          "What, if anything, was difficult about that task?",
          "What did you expect to happen?"
        ],
        "avoidTopics": "Leading questions, product pitches, invented facts, and hypothetical purchase promises. Ask one question at a time and follow up on concrete examples.",
        "voiceGreeting": "Briefly welcome the participant and explain that we want to learn from their experiences. Then ask the first discussion prompt.",
        "usabilityGreeting": "Briefly welcome the participant and ask them to say what they are thinking as they work. Do not end with a question; the first task follows automatically.",
        "voiceTemplates": [
          {
            "slug": "customer-discovery-voice-interview",
            "title": "Customer discovery voice interview",
            "description": "Understand the last time someone faced [problem], what they tried, and what it cost them.",
            "objective": "Understand the last time someone faced [problem], what they tried, and what it cost them.",
            "audience": "People who recently experienced [problem].",
            "prepare": "Replace [problem] with a concrete situation. Recruit people with recent experience and choose a recall window.",
            "interpretation": "Compare triggers, workarounds, and consequences across accounts. Treat interest in an idea as a hypothesis until behavior supports it.",
            "questions": [
              "Tell me about the last time you ran into [problem].",
              "What led up to that situation?",
              "What did you do to handle it, and what happened?",
              "What did that take in time, money, or effort?",
              "How did you decide whether the outcome was good enough?"
            ]
          },
          {
            "slug": "jobs-to-be-done-voice-interview",
            "title": "Jobs to be done voice interview",
            "description": "Reconstruct why someone switched to [product] and what progress they were trying to make.",
            "objective": "Reconstruct why someone switched to [product] and what progress they were trying to make.",
            "audience": "Customers who recently chose [product] over an alternative.",
            "prepare": "Name [product] and recruit recent switchers. Ask about an actual decision rather than general preferences.",
            "interpretation": "Build a timeline of the push, attraction, anxiety, and habits around the switch. Keep observed events separate from later explanations.",
            "questions": [
              "Take me back to when you first thought about changing your old solution.",
              "What happened that made you start looking seriously?",
              "Which alternatives did you actually consider?",
              "What made the final decision difficult?",
              "What changed after you started using [product]?"
            ]
          },
          {
            "slug": "customer-churn-voice-interview",
            "title": "Customer churn voice interview",
            "description": "Explore the events that led a customer to stop using [product].",
            "objective": "Explore the events that led a customer to stop using [product].",
            "audience": "Customers who recently cancelled or stopped using [product].",
            "prepare": "Define churn and a recent time window. Make clear the session is research and customize the product name.",
            "interpretation": "Distinguish the underlying loss of value from the final cancellation trigger. Look for evidence before assigning one cause to all churn.",
            "questions": [
              "What were you hoping [product] would help you do when you started?",
              "Walk me through the last time you used it.",
              "When did you first consider stopping?",
              "What happened between that moment and your decision to leave?",
              "How are you handling that need now?"
            ]
          },
          {
            "slug": "onboarding-experience-voice-interview",
            "title": "Onboarding experience voice interview",
            "description": "Learn how new customers experienced the path from signing up for [product] to first value.",
            "objective": "Learn how new customers experienced the path from signing up for [product] to first value.",
            "audience": "People who started using [product] in the last [time window].",
            "prepare": "Choose a meaningful first-value moment and replace the time window. Include both successful and stalled new users.",
            "interpretation": "Separate recollections of onboarding from observed task performance. Use the reported trouble spots to choose follow-up usability tasks.",
            "questions": [
              "What were you trying to accomplish when you signed up?",
              "Walk me through what you did first.",
              "Where did you need help or stop to work something out?",
              "When, if ever, did the product first do something useful for you?",
              "What happened the next time you came back?"
            ]
          },
          {
            "slug": "buyer-decision-voice-interview",
            "title": "Buyer decision voice interview",
            "description": "Understand how a buying team evaluated and chose [solution].",
            "objective": "Understand how a buying team evaluated and chose [solution].",
            "audience": "People involved in a recent purchase decision for [solution].",
            "prepare": "Specify the purchase category and recruit people directly involved in evaluation. Define the period you want to reconstruct.",
            "interpretation": "Map roles, criteria, evidence, and approval steps. Separate a participant’s own role from assumptions about colleagues.",
            "questions": [
              "What started the search for [solution]?",
              "Who became involved, and what did each person need to decide?",
              "How did you narrow the options?",
              "What evidence or experience changed your view during evaluation?",
              "What happened at the final approval step?"
            ]
          },
          {
            "slug": "support-experience-voice-interview",
            "title": "Support experience voice interview",
            "description": "Understand the journey from encountering [issue] to seeking and receiving help.",
            "objective": "Understand the journey from encountering [issue] to seeking and receiving help.",
            "audience": "Customers who recently contacted support about [issue].",
            "prepare": "Pick a support journey and a recall window. Replace [issue] and avoid requesting private account details.",
            "interpretation": "Connect the sequence of contacts to the outcome. Separate response speed, resolution quality, and the participant’s effort.",
            "questions": [
              "What was happening when you first needed help with [issue]?",
              "What did you try before contacting support?",
              "Walk me through the contact and any follow-up.",
              "How did you know whether the issue was resolved?",
              "What did the whole experience require from you?"
            ]
          },
          {
            "slug": "feature-adoption-voice-interview",
            "title": "Feature adoption voice interview",
            "description": "Explore how customers discovered, tried, and incorporated [feature] into their work.",
            "objective": "Explore how customers discovered, tried, and incorporated [feature] into their work.",
            "audience": "Customers eligible for [feature], including people who tried it and stopped.",
            "prepare": "Define [feature] and the behavior that counts as adoption. Recruit across different levels of use.",
            "interpretation": "Compare discovery, trial, and repeated use as separate stages. A positive reaction does not establish sustained adoption.",
            "questions": [
              "When did you first hear about [feature]?",
              "What were you doing when you decided to try it, if you did?",
              "Walk me through that first experience.",
              "What have you used instead or alongside it since then?",
              "Tell me about the most recent time you chose whether to use it."
            ]
          },
          {
            "slug": "win-loss-voice-interview",
            "title": "Win-loss voice interview",
            "description": "Learn what shaped a recent decision to choose or reject [offering].",
            "objective": "Learn what shaped a recent decision to choose or reject [offering].",
            "audience": "Recent evaluators of [offering], including wins and losses.",
            "prepare": "Choose comparable evaluations and a recent period. Keep the interview separate from a sales follow-up.",
            "interpretation": "Compare decision paths across wins and losses with similar needs. Treat single-customer reasons as leads for further research.",
            "questions": [
              "What need prompted the evaluation?",
              "Which options made your shortlist, and why?",
              "Tell me about a moment that changed your opinion of [offering].",
              "What trade-offs did you discuss before deciding?",
              "What finally settled the decision?"
            ]
          },
          {
            "slug": "customer-journey-voice-interview",
            "title": "Customer journey voice interview",
            "description": "Reconstruct the end-to-end experience of [customer journey].",
            "objective": "Reconstruct the end-to-end experience of [customer journey].",
            "audience": "People who recently completed or abandoned [customer journey].",
            "prepare": "Choose one journey and a recent time window. Invite participants at different outcomes.",
            "interpretation": "Map actions, touchpoints, and transitions before combining accounts into a journey map. Preserve differences between segments.",
            "questions": [
              "What first prompted you to begin [customer journey]?",
              "Walk me through what happened from that point.",
              "Which people, channels, or tools did you use along the way?",
              "Where did your expectations change?",
              "How did the journey end for you?"
            ]
          },
          {
            "slug": "product-migration-voice-interview",
            "title": "Product migration voice interview",
            "description": "Explore the practical work of moving from [old solution] to [new solution].",
            "objective": "Explore the practical work of moving from [old solution] to [new solution].",
            "audience": "People who recently completed or attempted the migration.",
            "prepare": "Specify both solutions and distinguish the decision to switch from the work of switching.",
            "interpretation": "Identify setup, data, collaboration, and habit barriers. Do not assume a difficult migration means the new product delivers poor value.",
            "questions": [
              "What had to be in place before you could begin moving?",
              "Walk me through the first part of the migration.",
              "What was harder to move or recreate than expected?",
              "How did you decide the move was complete?",
              "What still depends on the old solution today?"
            ]
          },
          {
            "slug": "free-trial-voice-interview",
            "title": "Free trial voice interview",
            "description": "Understand how evaluators used a trial of [product] to make a decision.",
            "objective": "Understand how evaluators used a trial of [product] to make a decision.",
            "audience": "People who recently finished a trial, including converters and non-converters.",
            "prepare": "Define the trial period and recruit people who actually attempted an evaluation.",
            "interpretation": "Compare intended evaluation criteria with what participants managed to test. Distinguish limited time from missing product value.",
            "questions": [
              "What did you need to find out before starting the trial?",
              "What did you try first?",
              "Tell me about something you could or could not evaluate.",
              "Who else influenced the evaluation?",
              "How did you decide what to do when the trial ended?"
            ]
          },
          {
            "slug": "subscription-renewal-voice-interview",
            "title": "Subscription renewal voice interview",
            "description": "Explore how a customer assessed whether to renew [subscription].",
            "objective": "Explore how a customer assessed whether to renew [subscription].",
            "audience": "People involved in a recent renewal decision.",
            "prepare": "Name the subscription and recruit both renewed and non-renewed accounts.",
            "interpretation": "Separate ongoing value, changing needs, switching costs, and procurement constraints. A renewal alone does not establish satisfaction.",
            "questions": [
              "What brought the renewal decision to your attention?",
              "What did you look at to judge whether to continue?",
              "Who participated in the decision?",
              "What alternatives did you discuss?",
              "What finally led to the outcome?"
            ]
          },
          {
            "slug": "competitive-alternatives-voice-interview",
            "title": "Competitive alternatives voice interview",
            "description": "Understand the alternatives people actually use to accomplish [job].",
            "objective": "Understand the alternatives people actually use to accomplish [job].",
            "audience": "People who recently worked on [job], with or without specialist software.",
            "prepare": "Define the job without naming a preferred solution. Include manual workarounds and doing nothing.",
            "interpretation": "Compare alternatives in context. A competitor named from memory is weaker evidence than a tool used in a recent account.",
            "questions": [
              "Tell me about the last time you needed to accomplish [job].",
              "What did you use to get it done?",
              "How did you first choose that approach?",
              "When have you used a different approach?",
              "What determines which approach you use on a given occasion?"
            ]
          },
          {
            "slug": "customer-trust-voice-interview",
            "title": "Customer trust voice interview",
            "description": "Explore specific experiences that built or reduced trust in [service].",
            "objective": "Explore specific experiences that built or reduced trust in [service].",
            "audience": "People with direct, recent experience of [service].",
            "prepare": "Choose the service and relevant interactions. Avoid suggesting in advance that participants should distrust it.",
            "interpretation": "Connect trust statements to events and decisions. Separate brand impressions from first-hand experiences.",
            "questions": [
              "What did you expect from [service] before first using it?",
              "Describe a moment that changed how you felt about relying on it.",
              "What did you do after that happened?",
              "How do you decide what to trust it with?",
              "What evidence has mattered most to that decision?"
            ]
          },
          {
            "slug": "mobile-habits-voice-interview",
            "title": "Mobile habits voice interview",
            "description": "Understand when and where people use [mobile product] in everyday life.",
            "objective": "Understand when and where people use [mobile product] in everyday life.",
            "audience": "People who recently used [mobile product] on their phone.",
            "prepare": "Define the mobile product and a recent recall window. Ask about context without collecting precise private locations.",
            "interpretation": "Identify situational constraints and interrupted sessions. Use these accounts to design realistic mobile usability scenarios.",
            "questions": [
              "Tell me about the last time you opened [mobile product].",
              "What else was happening around you?",
              "What were you trying to finish before putting the phone away?",
              "What interrupted or changed what you were doing?",
              "What did you do when you next returned?"
            ]
          },
          {
            "slug": "market-category-voice-interview",
            "title": "Market category voice interview",
            "description": "Explore how buyers describe and navigate [product category].",
            "objective": "Explore how buyers describe and navigate [product category].",
            "audience": "People who recently searched for or bought within [product category].",
            "prepare": "Define the category for recruitment while leaving interview prompts open to participants’ own language.",
            "interpretation": "Compare category language and selection criteria. Qualitative interviews reveal reasoning, not market share.",
            "questions": [
              "What situation led you to look for something in [product category]?",
              "How did you describe what you needed when searching or asking someone?",
              "Which types of options did you encounter?",
              "How did you decide which options belonged on your shortlist?",
              "What surprised you about the category as you learned more?"
            ]
          },
          {
            "slug": "service-handoff-voice-interview",
            "title": "Service handoff voice interview",
            "description": "Explore how customers experience handoffs between teams during [service journey].",
            "objective": "Explore how customers experience handoffs between teams during [service journey].",
            "audience": "Customers who recently interacted with more than one team in [service journey].",
            "prepare": "Specify the journey and recruit customers with actual handoffs. Ask for roles rather than employees’ private details.",
            "interpretation": "Map repeated explanations, ownership gaps, and successful transfers. Verify operational causes with the relevant team before concluding.",
            "questions": [
              "Who did you first contact about [need]?",
              "What happened when another person or team became involved?",
              "What information did you need to repeat?",
              "How did you know who was responsible for the next step?",
              "What happened by the end of the journey?"
            ]
          },
          {
            "slug": "stakeholder-alignment-voice-interview",
            "title": "Stakeholder alignment voice interview",
            "description": "Understand stakeholder goals and constraints for [initiative].",
            "objective": "Understand stakeholder goals and constraints for [initiative].",
            "audience": "People responsible for delivering or using the results of [initiative].",
            "prepare": "Name the initiative and explain how responses will be used. Include roles with different responsibilities.",
            "interpretation": "Compare success definitions and dependencies across roles. Disagreement is a topic to resolve, not a vote on which person is right.",
            "questions": [
              "What outcome are you responsible for in [initiative]?",
              "How would you know the initiative had succeeded?",
              "What evidence or experience shaped that definition?",
              "Which dependencies could affect your work?",
              "What trade-off do you expect the team will need to make?"
            ]
          },
          {
            "slug": "referral-voice-interview",
            "title": "Referral behavior voice interview",
            "description": "Understand when customers recommend [product] and what they actually say.",
            "objective": "Understand when customers recommend [product] and what they actually say.",
            "audience": "Customers who recently recommended or considered recommending [product].",
            "prepare": "Define a recall window and include people who chose not to recommend.",
            "interpretation": "Separate stated advocacy from actual referral behavior. Look for situations that make a recommendation useful or risky.",
            "questions": [
              "Tell me about the last time someone asked you about a product like [product].",
              "What did you say or do?",
              "What made you comfortable or hesitant to mention it?",
              "How did you describe who it would suit?",
              "What happened after the conversation?"
            ]
          },
          {
            "slug": "product-retrospective-voice-interview",
            "title": "Product retrospective voice interview",
            "description": "Understand what changed after a team adopted [product].",
            "objective": "Understand what changed after a team adopted [product].",
            "audience": "Customers with enough recent usage to compare work before and after adoption.",
            "prepare": "Define the adoption period and the work you want to examine. Ask for examples rather than assumed benefits.",
            "interpretation": "Compare concrete changes with original expectations. Verify impact claims with additional evidence before reporting causation.",
            "questions": [
              "What were you hoping would change when you adopted [product]?",
              "Describe how you handled [workflow] before adopting it.",
              "Walk me through a recent instance of that workflow now.",
              "What changed in ways you did not expect?",
              "What still takes more work than you would like?"
            ]
          }
        ],
        "textTemplates": [
          {
            "slug": "product-feedback-text-interview",
            "title": "Product feedback text interview",
            "description": "Explore a recent experience with [product] through a written conversation.",
            "objective": "Explore a recent experience with [product] through a written conversation.",
            "audience": "People who used [product] in the last [time window].",
            "prepare": "Set a recall window, name the product, and focus the interview on one recent experience.",
            "interpretation": "Group concrete experiences by goal and outcome. Use follow-ups to clarify vague feedback before turning it into a requirement.",
            "questions": [
              "What were you trying to do the last time you used [product]?",
              "What happened as you worked through it?",
              "Which part required the most effort?",
              "What did you do next?",
              "What would a better outcome have looked like in that situation?"
            ]
          },
          {
            "slug": "unmet-needs-text-interview",
            "title": "Unmet needs text interview",
            "description": "Uncover workarounds and unmet needs around [activity].",
            "objective": "Uncover workarounds and unmet needs around [activity].",
            "audience": "People who regularly perform [activity].",
            "prepare": "Choose a specific activity and ask participants about a recent instance.",
            "interpretation": "Look for repeated workarounds with meaningful consequences. Keep requested features separate from the needs they might serve.",
            "questions": [
              "Describe the last time you needed to do [activity].",
              "What tools or people did you rely on?",
              "What did you have to work around?",
              "How did that affect the outcome?",
              "What have you already tried to improve the process?"
            ]
          },
          {
            "slug": "cancellation-text-interview",
            "title": "Cancellation text interview",
            "description": "Understand the context and sequence behind a recent cancellation of [service].",
            "objective": "Understand the context and sequence behind a recent cancellation of [service].",
            "audience": "People who recently cancelled [service].",
            "prepare": "Name the service, define a recent cancellation window, and keep the invitation focused on learning.",
            "interpretation": "Separate affordability, changing needs, service friction, and alternative choices using participants’ actual accounts.",
            "questions": [
              "What originally brought you to [service]?",
              "What changed before you considered cancelling?",
              "What did you try before deciding to leave?",
              "What happened when you cancelled?",
              "How are you meeting that need now?"
            ]
          },
          {
            "slug": "purchase-hesitation-text-interview",
            "title": "Purchase hesitation text interview",
            "description": "Explore what happened when someone considered [product] but did not buy.",
            "objective": "Explore what happened when someone considered [product] but did not buy.",
            "audience": "People who recently evaluated [product] without purchasing.",
            "prepare": "Define a recent evaluation event. Include the participant’s chosen outcome, even if they chose to do nothing.",
            "interpretation": "Identify information gaps and trade-offs without assuming every non-purchase is a checkout problem.",
            "questions": [
              "What brought you to consider [product]?",
              "What were you trying to learn before deciding?",
              "Which information did you find, and what was still unclear?",
              "What happened at the point you decided not to purchase?",
              "What did you do instead?"
            ]
          },
          {
            "slug": "message-comprehension-text-interview",
            "title": "Message comprehension text interview",
            "description": "Learn how people interpret [message] and what expectations it creates.",
            "objective": "Learn how people interpret [message] and what expectations it creates.",
            "audience": "People in the intended audience who have not helped write [message].",
            "prepare": "Insert the exact message into the opening prompt. Keep the same wording and context for everyone.",
            "interpretation": "Compare unaided interpretations with the intended meaning. Stated clarity and persuasiveness are different outcomes.",
            "questions": [
              "Read [message]. In your own words, what is it saying?",
              "Who do you think this is intended for?",
              "What would you expect to get or be able to do?",
              "Which words, if any, are unclear?",
              "What would you need to know next to decide whether it is relevant?"
            ]
          },
          {
            "slug": "employee-workflow-text-interview",
            "title": "Employee workflow text interview",
            "description": "Explore friction in [workflow] from the people doing the work.",
            "objective": "Explore friction in [workflow] from the people doing the work.",
            "audience": "Employees who recently completed [workflow].",
            "prepare": "Choose one workflow and explain who will have access to responses. Do not promise anonymity unless the study is configured for it.",
            "interpretation": "Map handoffs and rework from specific examples. Avoid treating one person’s account as proof of another person’s performance.",
            "questions": [
              "Walk me through the most recent time you completed [workflow].",
              "Where did work pass between people or tools?",
              "What slowed things down or required rework?",
              "How did you handle that situation?",
              "What effect did it have on the final result?"
            ]
          },
          {
            "slug": "pricing-value-text-interview",
            "title": "Pricing and value text interview",
            "description": "Understand how customers judge the value of [offering] against its price.",
            "objective": "Understand how customers judge the value of [offering] against its price.",
            "audience": "Customers who recently considered or paid for [offering].",
            "prepare": "Name the offering and provide consistent price context. Ask about real decisions and alternatives.",
            "interpretation": "Use this qualitative guide to understand value reasoning. It does not estimate an optimal price or demand curve.",
            "questions": [
              "What were you trying to achieve when you considered [offering]?",
              "What did you compare the price with?",
              "Which parts of the offering mattered to that comparison?",
              "Tell me about a trade-off you made when deciding.",
              "What has shaped your view of its value since then?"
            ]
          },
          {
            "slug": "post-event-text-interview",
            "title": "Post-event text interview",
            "description": "Explore what attendees took away from [event] and where the experience fell short.",
            "objective": "Explore what attendees took away from [event] and where the experience fell short.",
            "audience": "People who attended [event].",
            "prepare": "Name the event and invite feedback while specific moments are still easy to recall.",
            "interpretation": "Compare takeaways and friction across attendee goals. Attendance satisfaction alone does not establish longer-term impact.",
            "questions": [
              "What were you hoping to get from [event]?",
              "Describe a moment that stood out to you.",
              "What, if anything, made it harder to participate?",
              "What did you take away that you could use?",
              "What happened after the event, if anything, because you attended?"
            ]
          },
          {
            "slug": "recommendation-text-interview",
            "title": "Recommendation text interview",
            "description": "Explore the experience behind a recommendation or reluctance to recommend [product].",
            "objective": "Explore the experience behind a recommendation or reluctance to recommend [product].",
            "audience": "Customers with recent experience using [product].",
            "prepare": "Specify the product and ask about a real conversation where possible.",
            "interpretation": "Keep recommendation intent distinct from actual recommendations. Use the examples to understand fit and reservation.",
            "questions": [
              "When did you last talk to someone about [product]?",
              "What did you tell them?",
              "Which experience most influenced what you said?",
              "Who would you feel comfortable recommending it to?",
              "What would make you hesitate?"
            ]
          },
          {
            "slug": "trial-dropoff-text-interview",
            "title": "Trial drop-off text interview",
            "description": "Explore what happened before someone stopped a trial of [product].",
            "objective": "Explore what happened before someone stopped a trial of [product].",
            "audience": "People who began a trial but stopped using it.",
            "prepare": "Define the stopping behavior and trial window. Include evaluators who had an external reason to stop.",
            "interpretation": "Distinguish setup friction, unclear value, changing priorities, and lack of time. Validate patterns with behavior data.",
            "questions": [
              "What did you hope to find out during the trial?",
              "What did you try after signing up?",
              "Describe the last thing you did in the product.",
              "What happened before you stopped returning?",
              "How did you handle the original need afterward?"
            ]
          },
          {
            "slug": "help-article-text-interview",
            "title": "Help article feedback text interview",
            "description": "Understand how readers interpret [help article] and whether it addresses their question.",
            "objective": "Understand how readers interpret [help article] and whether it addresses their question.",
            "audience": "People with the need the article is intended to address.",
            "prepare": "Insert or link the same article for every participant and specify its intended purpose.",
            "interpretation": "Separate comprehension of the article from successful task execution. Test the actual workflow separately when needed.",
            "questions": [
              "What would you expect this article to help you do?",
              "After reading [help article], explain the main steps in your own words.",
              "Which part would you need to reread or clarify?",
              "What information did you look for but not find?",
              "What would you do next after reading it?"
            ]
          },
          {
            "slug": "brand-positioning-text-interview",
            "title": "Brand positioning text interview",
            "description": "Explore how people interpret [brand positioning statement] and connect it to their needs.",
            "objective": "Explore how people interpret [brand positioning statement] and connect it to their needs.",
            "audience": "People in the intended market who have not helped create the statement.",
            "prepare": "Show the exact statement and consistent context. Avoid explaining the intended interpretation before the participant responds.",
            "interpretation": "Compare unaided meaning, perceived relevance, and credibility separately. These interviews do not measure brand awareness.",
            "questions": [
              "Read [brand positioning statement]. What does this brand seem to offer?",
              "Who do you think it is for?",
              "What situation, if any, does it bring to mind from your life?",
              "What would you want evidence for?",
              "What other options would you compare it with?"
            ]
          },
          {
            "slug": "sustainability-message-text-interview",
            "title": "Sustainability message text interview",
            "description": "Explore how people understand [sustainability message] and what evidence they expect.",
            "objective": "Explore how people understand [sustainability message] and what evidence they expect.",
            "audience": "People in the message’s intended audience.",
            "prepare": "Insert the exact claim and its surrounding context. Do not explain or defend it during the interview.",
            "interpretation": "Use responses to identify ambiguity and evidence expectations. Audience interpretation does not verify the underlying claim.",
            "questions": [
              "Read [sustainability message]. What does it mean to you?",
              "What do you think it says about the product or company?",
              "Which parts, if any, are unclear?",
              "What information would help you evaluate the message?",
              "How would it affect the questions you ask before choosing?"
            ]
          },
          {
            "slug": "privacy-notice-text-interview",
            "title": "Privacy notice comprehension text interview",
            "description": "Explore how readers understand [privacy notice] and the choices it describes.",
            "objective": "Explore how readers understand [privacy notice] and the choices it describes.",
            "audience": "People who would encounter the notice in its actual context.",
            "prepare": "Provide the exact notice and a realistic scenario. Use test examples without asking participants to share personal records.",
            "interpretation": "Compare the meaning readers take away with the intended meaning. This is comprehension research, not a determination of legal compliance.",
            "questions": [
              "Read [privacy notice]. What do you think will happen to the information in this scenario?",
              "What choices do you believe you have?",
              "What would happen if you declined?",
              "Which wording did you find hard to interpret?",
              "What would you want to ask before deciding?"
            ]
          },
          {
            "slug": "loyalty-program-text-interview",
            "title": "Loyalty program text interview",
            "description": "Understand how members experience the rewards and effort involved in [loyalty program].",
            "objective": "Understand how members experience the rewards and effort involved in [loyalty program].",
            "audience": "People who recently earned or tried to redeem rewards.",
            "prepare": "Name the program and recruit participants with recent earning or redemption experience.",
            "interpretation": "Separate reward awareness, perceived value, and redemption friction. Membership by itself does not establish loyalty.",
            "questions": [
              "What led you to join [loyalty program]?",
              "Tell me about the last time you earned or used a reward.",
              "How did you decide whether the reward was worth pursuing?",
              "What effort or uncertainty was involved?",
              "What has the experience changed about what you do?"
            ]
          },
          {
            "slug": "community-experience-text-interview",
            "title": "Community experience text interview",
            "description": "Explore how members participate in [community] and find value or barriers.",
            "objective": "Explore how members participate in [community] and find value or barriers.",
            "audience": "Members with different levels of recent participation.",
            "prepare": "Name the community and define the activities of interest. Include members who mostly observe.",
            "interpretation": "Compare participation goals with actual experiences. Reading without posting can still be valuable participation.",
            "questions": [
              "What first brought you to [community]?",
              "Describe the last time you spent time there.",
              "What made you choose to participate or just observe?",
              "Tell me about a moment you felt included or out of place.",
              "What do you get from the community now?"
            ]
          },
          {
            "slug": "employee-onboarding-text-interview",
            "title": "Employee onboarding text interview",
            "description": "Explore a new employee’s experience getting ready to contribute in [role].",
            "objective": "Explore a new employee’s experience getting ready to contribute in [role].",
            "audience": "Employees who recently joined [team or organization].",
            "prepare": "Specify the onboarding period and explain response access. Invite candid examples without promising anonymity by default.",
            "interpretation": "Separate missing information, tool access, social support, and role clarity. Look for repeated gaps across new starters.",
            "questions": [
              "What did you expect before your first day?",
              "Walk me through an early task you were asked to do.",
              "What did you need to find out or get access to?",
              "Who or what helped you make progress?",
              "When did you first feel able to contribute on your own?"
            ]
          },
          {
            "slug": "online-learning-text-interview",
            "title": "Online learning experience text interview",
            "description": "Understand how learners experienced [course] and applied what they learned.",
            "objective": "Understand how learners experienced [course] and applied what they learned.",
            "audience": "People who recently completed or stopped [course].",
            "prepare": "Name the course and recruit both completers and non-completers. Define a time window for recall.",
            "interpretation": "Separate access problems, instructional clarity, and motivation. Reported confidence does not establish skill mastery.",
            "questions": [
              "What did you want to be able to do when you enrolled?",
              "Describe a recent learning session in [course].",
              "Where did you struggle to continue or understand?",
              "What did you try when that happened?",
              "What have you had a chance to apply since then?"
            ]
          },
          {
            "slug": "delivery-experience-text-interview",
            "title": "Delivery experience text interview",
            "description": "Explore what customers experienced between placing [order] and receiving it.",
            "objective": "Explore what customers experienced between placing [order] and receiving it.",
            "audience": "Customers with a recent delivery experience.",
            "prepare": "Define the order category and time window. Ask about events without requesting home addresses or tracking numbers.",
            "interpretation": "Distinguish expectations, information quality, and delivery outcomes. Verify operational explanations independently.",
            "questions": [
              "What did you expect about delivery when you placed [order]?",
              "How did you find out what was happening afterward?",
              "Was there a moment you became uncertain about the delivery?",
              "What happened when the order arrived?",
              "What did you do after receiving it?"
            ]
          },
          {
            "slug": "returns-experience-text-interview",
            "title": "Returns experience text interview",
            "description": "Understand the steps and effort involved in returning [item].",
            "objective": "Understand the steps and effort involved in returning [item].",
            "audience": "People who recently completed or attempted a return.",
            "prepare": "Choose an item category and recent return period. Include people who abandoned the process.",
            "interpretation": "Separate return eligibility, process friction, and refund uncertainty. Compare accounts against the relevant policy before drawing conclusions.",
            "questions": [
              "What led you to consider returning [item]?",
              "How did you work out whether and how you could return it?",
              "Walk me through what you did next.",
              "Where did you need help or additional information?",
              "How did the process end for you?"
            ]
          }
        ],
        "usabilityTemplates": [
          {
            "slug": "website-navigation-usability-test",
            "title": "Website navigation usability test",
            "description": "Observe how people find information and choose a route through [website].",
            "objective": "Observe how people find information and choose a route through [website].",
            "audience": "People who would realistically use [website].",
            "prepare": "Add the website URL to every task. Replace the bracketed goals and agree on acceptable destination pages before testing.",
            "interpretation": "Review the routes taken and points of hesitation against each task’s success criteria. A completed task can still involve costly detours.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find information",
                "scenario": "You need to learn about [topic] on this website. Find the information you would use.",
                "successCriteria": "Participant reaches a page that answers the defined information need."
              },
              {
                "title": "Choose an option",
                "scenario": "You are looking for [option matching need]. Find the option you would choose and explain your choice.",
                "successCriteria": "Participant identifies an option meeting the stated constraints."
              },
              {
                "title": "Find help",
                "scenario": "You have a question about [specific issue]. Find how you would get help.",
                "successCriteria": "Participant locates an appropriate help resource or contact route."
              }
            ]
          },
          {
            "slug": "signup-onboarding-usability-test",
            "title": "Signup and onboarding usability test",
            "description": "Observe whether new users can create a test account and reach [first-value action].",
            "objective": "Observe whether new users can create a test account and reach [first-value action].",
            "audience": "New users who have not used [product].",
            "prepare": "Use a sandbox URL and test credentials. Replace the first-value action and prepare a fresh account state for each participant.",
            "interpretation": "Separate account-creation barriers from product-learning barriers. Review the point where participants believe setup is complete.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Create an account",
                "scenario": "You want to try [product]. Set up an account using the test details provided.",
                "successCriteria": "Participant creates the sandbox account and reaches the signed-in experience."
              },
              {
                "title": "Get set up",
                "scenario": "Prepare this account so you can [first-value action]. Use only the test details provided.",
                "successCriteria": "Participant completes the setup required for the defined action."
              },
              {
                "title": "Reach first value",
                "scenario": "Now use the product to [first-value action]. Stop when you believe you have completed it.",
                "successCriteria": "Participant completes the specified action and recognizes the resulting state."
              }
            ]
          },
          {
            "slug": "checkout-usability-test",
            "title": "Checkout usability test",
            "description": "Observe how shoppers move from a product choice to reviewing a test order.",
            "objective": "Observe how shoppers move from a product choice to reviewing a test order.",
            "audience": "People who buy items like [product category] online.",
            "prepare": "Use a sandbox store with test payment data. Define an item, delivery need, and budget. Make the stop point explicit and disable real purchases.",
            "interpretation": "Distinguish product-selection friction, surprise costs, and form problems. Self-reported willingness to buy is separate from completing these tasks.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Choose a product",
                "scenario": "Find [item meeting constraints] and add the version you would choose to your basket.",
                "successCriteria": "Basket contains an item and variant meeting the stated constraints."
              },
              {
                "title": "Review costs",
                "scenario": "Find out the full cost and expected delivery for this basket using the test address provided.",
                "successCriteria": "Participant identifies the total cost and expected delivery before committing."
              },
              {
                "title": "Review an order",
                "scenario": "Continue using the supplied test details until the final order-review screen. Stop before placing an order.",
                "successCriteria": "Participant reaches final review with the correct test details without submitting an order."
              }
            ]
          },
          {
            "slug": "prototype-usability-test",
            "title": "Prototype usability test",
            "description": "Test whether people understand a prototype well enough to complete [core workflow].",
            "objective": "Test whether people understand a prototype well enough to complete [core workflow].",
            "audience": "People who would perform [core workflow] in the finished product.",
            "prepare": "Attach a shareable prototype URL to each task. Replace the workflow details and verify every tested path is interactive.",
            "interpretation": "Distinguish prototype limitations from design confusion. Document success criteria in advance and review evidence against them.",
            "targetType": "prototype",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Begin a workflow",
                "scenario": "Imagine you need to [core workflow]. Show where you would begin in this prototype.",
                "successCriteria": "Participant identifies the intended starting point without a hint."
              },
              {
                "title": "Complete the flow",
                "scenario": "Use the prototype to [specific outcome]. Tell us when you believe you have finished.",
                "successCriteria": "Participant reaches the defined end state along an available interactive path."
              },
              {
                "title": "Check the result",
                "scenario": "Find where you would check or change what you just created.",
                "successCriteria": "Participant locates the relevant result and a way to inspect or change it."
              }
            ]
          },
          {
            "slug": "search-filter-usability-test",
            "title": "Search and filter usability test",
            "description": "Observe how people narrow a set of results to find [suitable item].",
            "objective": "Observe how people narrow a set of results to find [suitable item].",
            "audience": "People who search for [item category].",
            "prepare": "Provide the site URL and replace the item constraints. Verify that matching and non-matching items exist in the test catalog.",
            "interpretation": "Compare search wording, filter expectations, and result interpretation. Note whether people can tell why results changed.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find candidates",
                "scenario": "Find [item category] that could meet [need].",
                "successCriteria": "Participant produces a relevant set of candidate results."
              },
              {
                "title": "Narrow results",
                "scenario": "You need an option within [budget] that also has [attribute]. Find the options that qualify.",
                "successCriteria": "Participant identifies results satisfying both constraints."
              },
              {
                "title": "Change a constraint",
                "scenario": "Your [constraint] has changed to [new requirement]. Update your search and choose a result.",
                "successCriteria": "Participant revises the relevant constraint and identifies a qualifying result."
              }
            ]
          },
          {
            "slug": "pricing-page-usability-test",
            "title": "Pricing page usability test",
            "description": "Observe whether buyers can choose a plan and work out the cost for [scenario].",
            "objective": "Observe whether buyers can choose a plan and work out the cost for [scenario].",
            "audience": "People who could buy a plan for [product].",
            "prepare": "Add the pricing-page URL and concrete team size, usage, and billing period. Work out the expected answers before testing.",
            "interpretation": "Separate finding information from interpreting it correctly. Record calculation mistakes and uncertainty alongside task completion.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Choose a plan",
                "scenario": "Your team has [number] people and needs [capabilities]. Find the plan you would choose.",
                "successCriteria": "Participant selects a plan meeting the specified needs."
              },
              {
                "title": "Work out the cost",
                "scenario": "Work out what your team would pay for [billing period], including any applicable usage charges.",
                "successCriteria": "Participant identifies the correct total under the defined assumptions."
              },
              {
                "title": "Understand a limit",
                "scenario": "Find what would happen if your team exceeded [limit].",
                "successCriteria": "Participant locates and correctly explains the relevant limit or upgrade terms."
              }
            ]
          },
          {
            "slug": "account-settings-usability-test",
            "title": "Account settings usability test",
            "description": "Observe how people find and change common preferences in [product].",
            "objective": "Observe how people find and change common preferences in [product].",
            "audience": "People who manage their own account settings.",
            "prepare": "Use a sandbox account and reset it between participants. Specify a reversible preference and provide test account details.",
            "interpretation": "Look for findability, labeling, and confirmation problems. Review whether a saved change matches what the participant intended.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Change a preference",
                "scenario": "You want [notification preference]. Set up this test account the way you want it.",
                "successCriteria": "The account’s notification settings match the requested preference."
              },
              {
                "title": "Update account details",
                "scenario": "Update [editable profile field] using the supplied test details.",
                "successCriteria": "The specified field is saved with the supplied test value."
              },
              {
                "title": "Check a change",
                "scenario": "Check that your earlier preference change took effect, and explain how you know.",
                "successCriteria": "Participant finds the persisted setting and correctly interprets its state."
              }
            ]
          },
          {
            "slug": "dashboard-usability-test",
            "title": "Dashboard usability test",
            "description": "Observe whether people can use [dashboard] to answer a practical question and investigate a change.",
            "objective": "Observe whether people can use [dashboard] to answer a practical question and investigate a change.",
            "audience": "People who use reporting to make decisions about [workflow].",
            "prepare": "Use a dashboard with synthetic data. Define the metric, time period, and expected findings before testing.",
            "interpretation": "Separate navigation failures from misunderstandings of the data. Successful clicking does not establish correct interpretation.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find a metric",
                "scenario": "Find [metric] for [time period] and tell us what it shows.",
                "successCriteria": "Participant identifies the correct metric, period, and value."
              },
              {
                "title": "Investigate a change",
                "scenario": "You notice [change in metric]. Use this dashboard to explore what might explain it.",
                "successCriteria": "Participant reaches the relevant breakdown and identifies supported observations."
              },
              {
                "title": "Share a finding",
                "scenario": "Prepare the view you would share with a colleague to explain what you found. Do not send it.",
                "successCriteria": "Participant prepares a relevant view or export without sending it."
              }
            ]
          },
          {
            "slug": "mobile-website-usability-test",
            "title": "Mobile website usability test",
            "description": "Observe whether people can complete [core journey] on a mobile website.",
            "objective": "Observe whether people can complete [core journey] on a mobile website.",
            "audience": "People who would use this website on a phone.",
            "prepare": "Use the mobile website URL and specify a supported test device. Replace the journey and verify the screen-sharing setup before recruiting.",
            "interpretation": "Review small-screen navigation, input effort, and interruptions. Do not generalize one device’s behavior to all devices.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find the starting point",
                "scenario": "On your phone, find where you would begin [core journey].",
                "successCriteria": "Participant locates the intended starting point on the mobile layout."
              },
              {
                "title": "Complete a task",
                "scenario": "Use the mobile website to [specific reversible outcome].",
                "successCriteria": "Participant reaches the defined outcome using the mobile layout."
              },
              {
                "title": "Return to the result",
                "scenario": "Leave this view, then find the result of your earlier action again.",
                "successCriteria": "Participant returns to the correct result without losing the saved state."
              }
            ]
          },
          {
            "slug": "help-center-usability-test",
            "title": "Help center usability test",
            "description": "Observe whether people can find and use guidance for [support need].",
            "objective": "Observe whether people can find and use guidance for [support need].",
            "audience": "People likely to seek help for [support need].",
            "prepare": "Add the help center and sandbox product URLs as appropriate. Choose a need with a known answer and a reversible test task.",
            "interpretation": "Separate finding a relevant article from understanding and applying it. Record when people switch to seeking human help.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find guidance",
                "scenario": "You need to [support need]. Find guidance that could help.",
                "successCriteria": "Participant reaches a resource that addresses the defined need."
              },
              {
                "title": "Use the guidance",
                "scenario": "Use the guidance to [reversible action] in the test account.",
                "successCriteria": "Participant completes the defined action using the resource."
              },
              {
                "title": "Seek more help",
                "scenario": "Imagine that did not solve your problem. Find how you would contact someone for help, but do not send a message.",
                "successCriteria": "Participant locates an appropriate contact route without sending anything."
              }
            ]
          },
          {
            "slug": "booking-usability-test",
            "title": "Booking flow usability test",
            "description": "Observe how people find availability and prepare a booking for [service].",
            "objective": "Observe how people find availability and prepare a booking for [service].",
            "audience": "People who would book [service].",
            "prepare": "Use a sandbox booking site. Specify dates, party size, and constraints. Disable real reservations and set the stop point.",
            "interpretation": "Review availability interpretation, constraint handling, and cost clarity. A prepared booking does not establish purchase intent.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find availability",
                "scenario": "Find [service] available for [date, time, and party size].",
                "successCriteria": "Participant identifies availability matching the stated constraints."
              },
              {
                "title": "Compare an option",
                "scenario": "Check the price and change or cancellation terms for your chosen option.",
                "successCriteria": "Participant correctly identifies the option’s cost and relevant terms."
              },
              {
                "title": "Prepare the booking",
                "scenario": "Enter the supplied test details and continue to the final review. Stop before confirming the booking.",
                "successCriteria": "Participant reaches review with the correct option and details without reserving."
              }
            ]
          },
          {
            "slug": "form-error-recovery-usability-test",
            "title": "Form error recovery usability test",
            "description": "Observe how people understand and recover from validation errors in [form].",
            "objective": "Observe how people understand and recover from validation errors in [form].",
            "audience": "People who would complete [form].",
            "prepare": "Use a sandbox form and test data. Prepare a specific, repeatable validation error without real submission side effects.",
            "interpretation": "Assess whether the error identifies the problem, preserves work, and supports recovery. Separate planned errors from unexpected defects.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Complete the form",
                "scenario": "Fill in [form] using the supplied test details and continue.",
                "successCriteria": "Participant completes the required fields and encounters the planned validation state."
              },
              {
                "title": "Recover from an error",
                "scenario": "Continue from the message shown until you can move forward.",
                "successCriteria": "Participant identifies and corrects the invalid entry without losing valid input."
              },
              {
                "title": "Verify the result",
                "scenario": "Review the resulting details and explain whether they match what you intended.",
                "successCriteria": "Participant checks the result and identifies any remaining mismatch."
              }
            ]
          },
          {
            "slug": "product-comparison-usability-test",
            "title": "Product comparison usability test",
            "description": "Observe how shoppers compare alternatives against [purchase criteria].",
            "objective": "Observe how shoppers compare alternatives against [purchase criteria].",
            "audience": "People who buy within [product category].",
            "prepare": "Use a catalog URL with at least two relevant options. Define needs and establish which specifications meet them.",
            "interpretation": "Review whether comparison information supports the stated decision. Separate missing specifications from difficulty finding them.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Build a shortlist",
                "scenario": "Find two options that could meet [purchase criteria].",
                "successCriteria": "Participant identifies two plausible candidates."
              },
              {
                "title": "Compare a trade-off",
                "scenario": "Compare those options on [important attributes] and explain the differences.",
                "successCriteria": "Participant correctly identifies the relevant differences."
              },
              {
                "title": "Choose with a constraint",
                "scenario": "Your priority is now [specific constraint]. Choose the option that best fits it.",
                "successCriteria": "Participant selects an option satisfying the priority and explains the supporting information."
              }
            ]
          },
          {
            "slug": "plan-upgrade-usability-test",
            "title": "Plan upgrade usability test",
            "description": "Observe whether account owners can understand and prepare a plan change.",
            "objective": "Observe whether account owners can understand and prepare a plan change.",
            "audience": "People responsible for managing a subscription account.",
            "prepare": "Use a sandbox account and test billing data. Specify current and target needs, expected charges, and a stop point before confirmation.",
            "interpretation": "Review entitlement understanding, cost interpretation, and confidence about when changes take effect.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find a suitable plan",
                "scenario": "Your test account now needs [capability or capacity]. Find a plan that supports it.",
                "successCriteria": "Participant identifies a plan meeting the new need."
              },
              {
                "title": "Understand the change",
                "scenario": "Find what you would pay and when the new plan would take effect.",
                "successCriteria": "Participant correctly identifies the defined charges and timing."
              },
              {
                "title": "Prepare the upgrade",
                "scenario": "Prepare the change using test details. Stop at the final review before confirming it.",
                "successCriteria": "Participant reaches review for the correct plan without changing billing."
              }
            ]
          },
          {
            "slug": "subscription-cancellation-usability-test",
            "title": "Subscription cancellation usability test",
            "description": "Observe whether customers can locate and understand the cancellation path.",
            "objective": "Observe whether customers can locate and understand the cancellation path.",
            "audience": "People who manage their own subscriptions.",
            "prepare": "Use a sandbox account with no live billing. Define the cancellation scenario and stop before any real cancellation.",
            "interpretation": "Review findability, consequences, and unnecessary effort. Treat retention offers and informed choice as separate parts of the experience.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find cancellation",
                "scenario": "You no longer need this test subscription. Find how you would end it.",
                "successCriteria": "Participant locates the cancellation flow without a hint."
              },
              {
                "title": "Understand consequences",
                "scenario": "Find what would happen to access, stored work, and billing if you cancelled today.",
                "successCriteria": "Participant correctly explains the defined consequences."
              },
              {
                "title": "Prepare cancellation",
                "scenario": "Continue until the final cancellation review. Stop before confirming.",
                "successCriteria": "Participant reaches the review state and understands the next action without cancelling."
              }
            ]
          },
          {
            "slug": "password-reset-usability-test",
            "title": "Password reset usability test",
            "description": "Observe whether people can recover access to a test account.",
            "objective": "Observe whether people can recover access to a test account.",
            "audience": "People who use password-based sign-in.",
            "prepare": "Provide a sandbox account and a test inbox. Verify reset delivery and expiry settings, and never request a participant’s real password.",
            "interpretation": "Separate recovery-entry findability, email interpretation, password validation, and sign-in success.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Start recovery",
                "scenario": "Imagine you forgot the password for the supplied test account. Begin recovering access.",
                "successCriteria": "Participant initiates recovery for the supplied test account."
              },
              {
                "title": "Set a new password",
                "scenario": "Use the test inbox provided to reset the password with the supplied test password.",
                "successCriteria": "Participant completes a valid reset without using personal credentials."
              },
              {
                "title": "Sign in again",
                "scenario": "Return to the product and sign in to the test account.",
                "successCriteria": "Participant successfully signs in and recognizes the recovered account."
              }
            ]
          },
          {
            "slug": "shopping-cart-usability-test",
            "title": "Shopping cart editing usability test",
            "description": "Observe how shoppers review and revise a basket before checkout.",
            "objective": "Observe how shoppers review and revise a basket before checkout.",
            "audience": "People who shop for [product category].",
            "prepare": "Use a sandbox store with test items. Define quantities, variants, and expected totals before testing.",
            "interpretation": "Review whether edits persist and totals stay understandable. Separate stock limitations from interaction confusion.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Review the basket",
                "scenario": "Review the prepared basket and explain which items and quantities it contains.",
                "successCriteria": "Participant correctly identifies the basket contents."
              },
              {
                "title": "Change the order",
                "scenario": "Change [item] to [quantity or variant] and remove [unneeded item].",
                "successCriteria": "The basket contains exactly the requested items and quantities."
              },
              {
                "title": "Check the total",
                "scenario": "Find the revised total and explain any charges still to be determined.",
                "successCriteria": "Participant correctly identifies the total and any excluded charges."
              }
            ]
          },
          {
            "slug": "content-findability-usability-test",
            "title": "Content findability usability test",
            "description": "Observe whether readers can locate and recognize useful content on [site].",
            "objective": "Observe whether readers can locate and recognize useful content on [site].",
            "audience": "People who look for information about [topic].",
            "prepare": "Provide the site URL and a concrete information need with a known answer. Keep task wording independent of menu labels.",
            "interpretation": "Compare routes and interpretation of content relevance. Finding a page does not mean the reader has understood its answer.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Find an answer",
                "scenario": "You need to know [specific question]. Find an answer on this site.",
                "successCriteria": "Participant reaches content that answers the defined question."
              },
              {
                "title": "Check relevance",
                "scenario": "Use the page to explain how the answer applies to [scenario].",
                "successCriteria": "Participant correctly applies the information to the stated scenario."
              },
              {
                "title": "Find related information",
                "scenario": "Now find what else you need to know about [related question].",
                "successCriteria": "Participant reaches a relevant answer to the related need."
              }
            ]
          },
          {
            "slug": "file-upload-usability-test",
            "title": "File upload usability test",
            "description": "Observe how people upload, verify, and replace a file in [product].",
            "objective": "Observe how people upload, verify, and replace a file in [product].",
            "audience": "People who upload files as part of [workflow].",
            "prepare": "Use a sandbox and synthetic sample files. Specify supported formats and the intended destination; avoid personal documents.",
            "interpretation": "Review destination clarity, progress feedback, error interpretation, and result verification.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Upload a file",
                "scenario": "Add the supplied test file to [destination] in this test account.",
                "successCriteria": "The intended file is uploaded to the correct destination."
              },
              {
                "title": "Check the result",
                "scenario": "Check that the uploaded file is available and contains what you expected.",
                "successCriteria": "Participant verifies the correct file and recognizes its status."
              },
              {
                "title": "Replace the file",
                "scenario": "Replace the earlier file with the revised test file supplied.",
                "successCriteria": "The destination contains the revised file without an unintended duplicate."
              }
            ]
          },
          {
            "slug": "report-export-usability-test",
            "title": "Report export usability test",
            "description": "Observe whether people can configure and export a report for [audience].",
            "objective": "Observe whether people can configure and export a report for [audience].",
            "audience": "People who prepare reports from [product].",
            "prepare": "Use synthetic data and define the report scope, filters, and file format. Disable outbound sharing; inspect the expected output in advance.",
            "interpretation": "Compare the exported content with the requested scope. Successfully downloading a file does not prove the data is correct.",
            "targetType": "website",
            "questions": [
              "What, if anything, was different from what you expected?",
              "Which part of the experience would you change first, and why?"
            ],
            "tasks": [
              {
                "title": "Set report scope",
                "scenario": "Prepare a report for [date range and segment] using the test data.",
                "successCriteria": "The report view uses the intended date range and segment."
              },
              {
                "title": "Export the report",
                "scenario": "Save that report in [file format] for your own review. Do not send it to anyone.",
                "successCriteria": "Participant exports the configured report in the requested format."
              },
              {
                "title": "Verify the export",
                "scenario": "Open the export and check whether it includes the information you intended.",
                "successCriteria": "Participant verifies the expected scope, fields, and values in the exported file."
              }
            ]
          }
        ]
      }
    }
  },
  "assetLibrary": {
    "imageLibrary": "Image Library",
    "videoLibrary": "Video Library",
    "myGallery": "My Gallery",
    "myVideos": "My Videos",
    "upload": "Upload",
    "noImagesYet": "No images yet.",
    "noVideosYet": "No videos yet.",
    "clickToUploadImage": "Click to upload an image",
    "clickToUploadVideo": "Click to upload a video",
    "dragOrClickToUploadImage": "Drag and drop an image here, or click to browse",
    "dragOrClickToUploadVideo": "Drag and drop a video here, or click to browse",
    "dropImageHere": "Drop the image to upload",
    "dropVideoHere": "Drop the video to upload",
    "imageFormats": "PNG, JPG, WEBP, GIF, SVG",
    "videoFormats": "MP4, WEBM, OGG",
    "deleteImage": "Delete image?",
    "deleteVideo": "Delete video?",
    "deleteImageConfirm": "Are you sure you want to delete this image from your library?",
    "deleteVideoConfirm": "Are you sure you want to delete this video from your library?",
    "uploading": "Uploading...",
    "fileName": "File name",
    "uploaded": "Uploaded",
    "actions": "Actions",
    "use": "Use",
    "uploadNote": "If you upload a file, both the file and its details (metadata like name, type, and size) can be seen by anyone with the link. Only upload files that are not private or sensitive.",
    "unsupportedImageFormat": "Unsupported file format. Please upload PNG, JPG, WEBP, GIF, or SVG.",
    "unsupportedVideoFormat": "Unsupported file format. Please upload MP4, WEBM, or OGG."
  },
  "embed": {
    "editImage": "Edit Image",
    "embedImage": "Embed Image",
    "imageUrl": "Image URL *",
    "imageUrlPlaceholder": "https://example.com/image.jpg",
    "invalidImageUrl": "Please enter a valid image URL (jpg, jpeg, png, gif, webp, svg)",
    "openImageLibrary": "Open Image Library",
    "configuration": "Configuration",
    "altText": "Alt Text",
    "altTextPlaceholder": "Describe the image for accessibility",
    "widthPx": "Width (px)",
    "heightPx": "Height (px)",
    "widthPlaceholder400": "e.g. 400",
    "widthPlaceholder640": "e.g. 640",
    "heightPlaceholder": "e.g. 360",
    "lockAspectRatio": "Lock aspect ratio",
    "updateImage": "Update Image",
    "editVideo": "Edit Video",
    "embedVideo": "Embed Video",
    "videoUrlLabel": "Video URL or iframe *",
    "videoUrlPlaceholder": "Paste a YouTube/Vimeo URL or the iframe embed code",
    "invalidVideoUrl": "Please enter a valid YouTube/Vimeo URL or paste the iframe embed code",
    "unsupportedVideoUrl": "Unsupported video URL. Use a YouTube/Vimeo link or a direct video file URL.",
    "openVideoLibrary": "Open Video Library",
    "updateVideo": "Update Video",
    "editLink": "Edit Link",
    "addLink": "Add Link",
    "url": "URL",
    "urlPlaceholder": "https://example.com",
    "invalidUrl": "Please enter a valid URL",
    "removeLink": "Remove Link",
    "updateLink": "Update Link",
    "autoPlaceholder": "Auto"
  },
  "aiInterviewer": {
    "aiGeneratedTransitions": "AI Generated Transitions",
    "selectAIInterviewer": "Select AI Interviewer",
    "aiLedInterviewer": "AI Led Interviewer",
    "transitionBetween": "Transition between",
    "transitionDescription": "Add AI generated transitions between survey sections, all questions, or specific questions. These transitions make the survey more conversational and keep the respondent engaged.",
    "selectAll": "Select All",
    "activate": "Activate"
  },
  "qrCode": {
    "getQRCode": "Get the QR code",
    "scanDescription": "Scan the code to launch your survey. Works online and offline (though you'll need a printer, obviously).",
    "downloadQRCode": "Download QR code"
  },
  "userDetails": {
    "editUserDetails": "Edit user details",
    "enterName": "Enter your name",
    "enterLastName": "Enter your last name",
    "lastName": "Last Name",
    "nameInvalidCharacters": "Only letters, spaces, hyphens and apostrophes are allowed"
  },
  "userPassword": {
    "changePassword": "Change your password",
    "minLengthError": "New password should contain minimum {{min}} symbols with at least: 1 number and 1 upper case letter.",
    "passwordsDontMatch": "Passwords don't match.",
    "currentPassword": "Current password",
    "enterCurrentPassword": "Enter current password",
    "newPassword": "New password",
    "enterNewPassword": "Enter new password",
    "confirmNewPassword": "Confirm new password"
  },
  "teams": {
    "createNewTeam": "Create new team"
  },
  "formLanguages": {
    "noLanguages": "No languages",
    "supportedLanguages": "Supported languages"
  },
  "vanWestendorp": {
    "defaultLabels": {
      "tooCheap": "At what price would this be so cheap that you would doubt its quality?",
      "cheap": "At what price would this be a bargain — a great buy for the money?",
      "expensive": "At what price would this start to seem expensive, but you would still consider it?",
      "tooExpensive": "At what price would this be so expensive that you would not consider buying it?"
    },
    "monotonicWarning": "Usually these prices go from lowest (too cheap) to highest (too expensive). Please double-check."
  },
  "questionTypes": {
    "opinionScale": "Opinion scale",
    "nps": "Net Promoter Score",
    "yesNo": "Yes/No",
    "usabilityTest": "Usability test",
    "consent": "Consent",
    "design": "Design",
    "emojiScale": "Emoji scale",
    "slider": "Slider",
    "sliderMatrix": "Slider matrix",
    "rating": "Rating",
    "multipleChoice": "Multiple choice",
    "aiInterview": "AI interview (classic)",
    "aiAudioInterview": "AI audio interview (classic)",
    "aiModeratedInterview": "AI interview",
    "longText": "Long text",
    "shortText": "Short text",
    "button": "Button",
    "email": "Email",
    "phoneNumber": "Phone number",
    "matrix": "Matrix",
    "address": "Address",
    "date": "Date",
    "contactForm": "Contact Form",
    "dropdown": "Dropdown",
    "chatMessage": "Chat message",
    "website": "Website",
    "ranking": "Ranking",
    "numeric": "Numeric",
    "audio": "Audio",
    "video": "Video",
    "constantSum": "Constant Sum",
    "distributionBuilder": "Distribution Builder",
    "vanWestendorp": "Price Sensitivity",
    "listExperiment": "List Experiment",
    "maxDiff": "MaxDiff",
    "cardSorting": "Card Sorting",
    "conjointAnalysis": "Conjoint Analysis",
    "vignetteExperiment": "Vignette Experiment",
    "heatmapClick": "Heatmap Click",
    "textHighlight": "Text highlight",
    "signature": "Signature",
    "fileUpload": "File Upload",
    "photoResponse": "Photo",
    "payment": "Payment",
    "aiImageGeneration": "AI Image Generation",
    "linkedinVerification": "LinkedIn Verification",
    "googleVerification": "Google Verification",
    "emailVerification": "Email Verification",
    "phoneVerification": "Phone Verification",
    "page": "Page",
    "conversationReset": "Conversation reset",
    "section": "Section",
    "randomizer": "Randomizer",
    "abCondition": "A/B Condition",
    "welcomeScreen": "Welcome screen",
    "thankYouScreen": "Thank you screen",
    "conceptTest": "Concept test",
    "conceptExplore": "Concept explore",
    "conceptConverge": "Concept converge",
    "conceptFinal": "Concept final"
  },
  "questionCategories": {
    "aiAndInterviews": "AI & Interviews",
    "selectionAndRanking": "Selection & Ranking",
    "scaleAndRatings": "Scale & Ratings",
    "openResponse": "Open Response",
    "contactAndDetails": "Contact & Details",
    "mediaAndRecording": "Media & Recording",
    "flowAndMessaging": "Flow & Messaging"
  },
  "quickTest": {
    "testWithAI": "Test with AI",
    "testing": "Testing...",
    "howMany": "How many AI respondents?",
    "description": "AI-generated personas will complete your survey with realistic responses. Results appear in the Responses tab. ~30 sec per respondent.",
    "creditsNote": "Uses AI credits from your plan.",
    "viewResponses": "View Responses",
    "completed": "{{count}} responses generated",
    "error": "Test run failed",
    "respondentSource": "Respondent source",
    "autoGenerate": "Auto-generate (default)",
    "useAudienceRespondents": "Use {{count}} respondents from {{name}}",
    "startTest": "Start test"
  },
  "surveyItem": {
    "edit": "Edit",
    "duplicate": "Duplicate",
    "delete": "Delete",
    "moveOutOfSection": "Move out of section",
    "addBreak": "Add Break",
    "removeBreak": "Remove Break",
    "settings": "Settings",
    "answerRequired": "Answer required",
    "sectionSettings": "Section settings",
    "setup": "Setup",
    "active": "Active",
    "autoTranslate": "Auto-translate",
    "generate": "Generate",
    "addBreakDescription": "Clear previous questions from view"
  },
  "formDetails": {
    "vanWestendorp": {
      "priceQuestions": "Price questions",
      "labelsHint": "Leave a field blank to use the standard Van Westendorp wording.",
      "tooCheapLabel": "Too cheap",
      "cheapLabel": "Cheap / good value",
      "expensiveLabel": "Expensive",
      "tooExpensiveLabel": "Too expensive",
      "currencyPrefix": "Currency symbol (before)",
      "currencySuffix": "Currency symbol (after)",
      "currencyHint": "Enter a currency symbol or code, e.g. $, €, £, ₴ or USD.",
      "currencyInvalid": "Not a recognised currency. Use a symbol or code, e.g. $, €, £, ₴ or USD.",
      "minPrice": "Minimum price",
      "maxPrice": "Maximum price"
    },
    "options": "Options",
    "addOption": "Add option",
    "addChoice": "Add choice",
    "generateOptions": "Generate with AI",
    "generateOptionsNeedsQuestion": "Write the question first — AI needs it to generate answer choices that fit the question.",
    "addField": "Add field",
    "deleteField": "Delete field",
    "buttonLabel": "Button Label",
    "buttonAction": "Button Action",
    "buttonUrl": "Button Url",
    "linkOpenSameTab": "Open in same tab (replace survey)",
    "linkOpenSameTabHint": "Use for screen-out redirects so the survey closes instead of opening a new tab.",
    "pinOption": "Pin — keep this position",
    "unpinOption": "Unpin — allow shuffling",
    "numericLabelForOption": "Numeric label for option {{index}}",
    "numericLabelHelp": "Numeric code for this option, used in downloaded exports when the answer format is Numeric or Both. Empty uses automatic numbering (1, 2, 3…).",
    "timerSeconds": "Timer (seconds)",
    "totalValue": "Total Value",
    "minimumValuePerOption": "Minimum Value Per Option",
    "customizationFields": "Customization Fields",
    "allowFloating": "Allow floating",
    "allowNegative": "Allow negative",
    "min": "Min",
    "max": "Max",
    "decimals": "Decimals",
    "label": "Label",
    "valueLabels": "Value labels",
    "minLabel": "Min label...",
    "midLabel": "Mid label...",
    "maxLabel": "Max label...",
    "range": "Range",
    "step": "Step",
    "slider": "Slider",
    "sliderUnit": "Unit",
    "sliderPrefix": "$",
    "sliderSuffix": "%",
    "sliderStyle": "Style",
    "sliderShowTicks": "Show tick marks",
    "sliderAllowNa": "Allow \"N/A\"",
    "sliderNa": "Not applicable",
    "sliderShowValueInput": "Show value input",
    "consentCollectSignature": "Collect signature",
    "vanWestendorpExplainer": "Price Sensitivity (Van Westendorp) asks four price questions to find the acceptable price range and optimal price point. Best for: pricing a new product or plan.",
    "distributionBuilderExplainer": "Respondents allocate balls across bins to draw their expectation as a distribution — you learn their best guess AND how certain they are. Best for: forecasts, probabilities, budget or time estimates.",
    "photoResponseExplainer": "Respondents take or upload photos. Best for: diary studies, in-home or in-store context, receipts, shelf checks.",
    "vignetteExperimentExplainer": "Each respondent rates ONE randomly assembled version of your scenario. Comparing ratings across versions measures how much each attribute causally drives the judgment. Best for: bias, fairness and trade-off research.",
    "consentExplainer": "Respondents read your statement, check the agreement box, and can optionally sign. The response records agreement and timestamp — exportable as a consent log.",
    "consentStatementPlaceholder": "Paste the terms, disclosure, or consent language respondents read.",
    "sliderShowSteppers": "Fine-tune buttons (−/+)",
    "sliderValueInput": "Slider value",
    "sliderDecrease": "Decrease",
    "sliderIncrease": "Increase",
    "sliderVariantDefault": "Default",
    "sliderVariantGradient": "Gradient",
    "sliderVariantEmoji": "Emoji",
    "sliderDefaultPosition": "Default position",
    "sliderDefaultMiddle": "Middle",
    "sliderDefaultCustom": "Custom",
    "sliderDefaultBlank": "Blank",
    "sliderDefaultRandom": "Random",
    "sliderMatrixRows": "Statements",
    "rowPlaceholder": "Statement {{index}}",
    "labelEachValue": "Label each value",
    "ratingShape": "Rating icon",
    "ratingShapeDescription": "Choose how ratings appear to respondents",
    "scale": "Scale",
    "labelPosition": "Label position",
    "labelsPosition": "Labels display",
    "labelsEndpoints": "Endpoints only",
    "labelsAll": "All labels",
    "defaultCountryCode": "Default country code",
    "transitionSettings": "Transition settings",
    "showTransitionCard": "Show transition card",
    "manualAdvance": "Manual advance",
    "autoAdvanceDelay": "Auto-advance delay (ms)",
    "buttonText": "Button text",
    "randomize": "Randomize",
    "showLetters": "Show letters",
    "optionLayout": {
      "label": "Option layout",
      "vertical": "Vertical",
      "horizontal": "Horizontal",
      "columns": "Columns",
      "numberOfColumns": "Number of columns"
    },
    "multipleSelection": "Multiple selection",
    "minSelections": "Min selections",
    "maxSelections": "Max selections",
    "addAtLeast2Options": "Add at least 2 options to enable this feature",
    "otherOption": "\"Other\" option",
    "noneOfTheAboveOption": "\"None of the above\" option",
    "noneOptionLabel": "\"None\" option label",
    "otherOptionLabel": "\"Other\" option label",
    "submitButtonLabel": "Submit button label",
    "pairedOpposite": "Paired opposite question",
    "pairedOppositeHint": "Pair this with an earlier choice question (e.g. best vs. worst). If a respondent picks the same option on both, they'll get a gentle confirm.",
    "pairedOppositeNone": "Not paired",
    "rankingLimits": "Ranking limits",
    "minRankings": "Min rankings",
    "maxRankings": "Max rankings",
    "tabulationMethod": "Tabulation method",
    "tabulationAverageRank": "Average rank",
    "tabulationFirstChoice": "First choice",
    "tabulationInstantRunoff": "Instant runoff",
    "tabulationTopTwoRunoff": "Top-two runoff",
    "tabulationBordaCount": "Borda count",
    "tabulationBucklin": "Bucklin",
    "tabulationCondorcet": "Condorcet",
    "averageRankMethodHint": "Reports average position for each option and requires full rankings unless limits are set.",
    "rankedBallotMethodHint": "Ranked-ballot methods allow partial rankings and report a poll-style winner or score.",
    "ballotDisplayOrderHint": "The option order above is the ballot display order unless randomization is enabled.",
    "fixedBallotOrderRequired": "Ranked-ballot tabulation requires fixed ballot display order, so randomization is disabled.",
    "carryForwardChoices": "Carry forward choices",
    "sourceQuestion": "Source question",
    "showChoicesThatWere": "Show choices that were",
    "selected": "Selected",
    "notSelected": "Not selected",
    "anchorOptions": "Anchor options",
    "staticChoicesThat": "Pinned choices shown after carried choices",
    "anchorOption": "Anchor option",
    "addAnchorOption": "Add anchor option",
    "dynamic": "Dynamic",
    "items": "Items",
    "choices": "Choices",
    "dropdownOptions": "Dropdown options",
    "rankingItems": "Ranking items",
    "changeSourceChoices": "Change source choices",
    "useOptionsFrom": "Use {{options}} from...",
    "usingCarryForwardSource": "Using {{mode}} {{options}} from Q{{questionNumber}}",
    "usingCarryForwardSourceLabel": "Using {{mode}} {{options}} from {{label}}",
    "carryForwardOptionsHelp": "These options are copied from the source question and filtered for each respondent. Remove carry-forward to edit this list manually.",
    "carryForwardSourceMustRequireAnswer": "Source must require an answer",
    "carryForwardRandomizedSourceNotSupported": "Randomized source choices are not supported yet",
    "carryForwardChainedNotSupported": "Chained carry-forward is not supported yet",
    "carryForwardOtherSourceNotSupported": "\"Other\" source choices are not supported yet",
    "carryForwardNoneSourceNotSupported": "\"None of the above\" source choices are not supported yet",
    "carryForwardNoneBehaviorLabel": "If they chose \"None of the above\"",
    "carryForwardNoneBehaviorCarry": "Show it as a choice",
    "carryForwardNoneBehaviorSkip": "Skip this question",
    "carryForwardNoneBehaviorCarryHint": "Respondents who chose \"None of the above\" will see it carried forward as the only choice.",
    "carryForwardNoneBehaviorSkipHint": "Respondents who chose \"None of the above\" won't be asked this question.",
    "carryForwardDuplicateSourceLabelsNotSupported": "Duplicate source labels are not supported yet",
    "carryForwardSourceMustHaveOption": "Source must have at least one option",
    "cancel": "Cancel",
    "apply": "Apply",
    "change": "Change",
    "remove": "Remove",
    "richTextEditor": "Rich text editor",
    "characterLimit": "Character limit",
    "minCharacters": "Min characters",
    "maxCharacters": "Max characters",
    "rows": "Rows",
    "columns": "Columns",
    "addRow": "Add row",
    "addColumn": "Add column",
    "generateRows": "Generate rows with AI",
    "generateColumns": "Generate columns with AI",
    "dateFormat": "Date format",
    "delayedSend": "Delayed send",
    "delaySeconds": "Delay (seconds)",
    "maxValuePerOption": "Maximum Value Per Option",
    "noLimitPlaceholder": "No limit",
    "allowDecimalValues": "Allow decimal values",
    "randomizeOptionOrder": "Randomize option order",
    "divider": "Divider",
    "randomizeRows": "Randomize rows",
    "semanticDifferential": "Semantic differential",
    "leftLabel": "Left label",
    "rightLabel": "Right label",
    "customizeScale": "Customize scale",
    "useSharedScale": "Use shared scale",
    "rowScaleLabel": "Scale for this row",
    "addScalePoint": "Add scale point",
    "optionSettingsLabel": "Option settings",
    "labelSettingsLabel": "Label settings",
    "transitionHelperText": "0–5000 ms delay before moving to the next question",
    "buttonHelperText": "Text displayed on the button in the transition card. Defaults to 'Ok' if empty.",
    "timerHelperText": "Delay in seconds before the button appears (0-999)",
    "settings": "Settings",
    "addButton": "Add button",
    "numberOfQuestions": "Number of Questions",
    "aiDecidesBetween": "AI decides when to stop, between:",
    "addStoppingCriteria": "Add your own stopping criteria...",
    "ratingShapeStar": "Star",
    "ratingShapeCircle": "Circle",
    "ratingShapeLightning": "Lightning",
    "ratingShapeFlag": "Flag",
    "ratingShapeUser": "User",
    "ratingShapeCloud": "Cloud",
    "ratingShapeHeart": "Heart",
    "labelsBelowIcons": "Labels below icons",
    "labelsAboveIcons": "Labels above icons",
    "ratingTooltip": "Add custom text for each point on the scale (leave empty for no labels).",
    "editLabelIndex": "Edit Label {{index}}",
    "labelForIndex": "Label for {{index}}",
    "resetChatDescription": "This step resets the conversation by clearing chat history from view. Respondents will scroll to the top and continue with a fresh conversation.",
    "displayMessageBeforeAdvancing": "Display the message text before advancing",
    "userClicksButton": "User clicks button to advance",
    "autoAdvanceAfterDelay": "Automatically advance after delay",
    "continueOnSurvey": "Continue on Survey",
    "linkToExternalUrl": "Link to External Url",
    "showPreviousChatHistory": "Show previous chat history after this page",
    "pauseChatUntilClicks": "Pause the chat until respondent clicks",
    "editMinLabel": "Edit Min Label",
    "editMediumLabel": "Edit Medium Label",
    "editMaxLabel": "Edit Max Label",
    "editRowText": "Edit Row Text",
    "editColumnText": "Edit Column Text",
    "editText": "Edit Text",
    "optionIndex": "Option {{index}}",
    "questionFallback": "Question {{qNum}}",
    "leastNumberAvailable": "Least number available: {{value}}",
    "mostNumberAvailable": "Most number available: {{value}}",
    "describeAiProbe": "Please describe what the AI should probe deeper on",
    "minCannotBeGreater": "Min characters cannot be greater than max characters",
    "itemsToCompare": "Items to Compare",
    "bestLabel": "Best Label",
    "worstLabel": "Worst Label",
    "addItem": "Add Item",
    "labels": "Labels",
    "itemsPerSet": "Items per set",
    "numberOfSets": "Number of sets",
    "maxDiffNumSetsIncreased": "Number of sets increased",
    "maxDiffCoverageDescription": "{{itemCount}} items at {{itemsPerSet}} per set requires at least {{minimum}} sets so every item is shown.",
    "maxDiffMinimumCoverage_one": "Minimum coverage: {{count}} set ({{itemCount}} items ÷ {{itemsPerSet}} per set)",
    "maxDiffMinimumCoverage_other": "Minimum coverage: {{count}} sets ({{itemCount}} items ÷ {{itemsPerSet}} per set)",
    "maxDiffRecommendedSets_one": "Recommended: {{count}} set (targeting ~{{frequency}} appearances per item)",
    "maxDiffRecommendedSets_other": "Recommended: {{count}} sets (targeting ~{{frequency}} appearances per item)",
    "maxDiffUseRecommended": "use recommended",
    "randomizeSets": "Randomize sets",
    "cards": "Cards",
    "categories": "Categories",
    "addCard": "Add Card",
    "addCategory": "Add Category",
    "allowCustomCategories": "Allow custom categories",
    "randomizeCards": "Randomize cards",
    "attributes": "Attributes",
    "levels": "Levels",
    "addAttribute": "Add Attribute",
    "addLevel": "Add Level",
    "numberOfTasks": "Number of tasks",
    "profilesPerTask": "Profiles per task",
    "vignetteTemplate": "Scenario template",
    "vignetteTemplateHint": "Use {{attribute_name}} placeholders. Each respondent sees one random level per attribute.",
    "ratingScalePoints": "Rating scale",
    "scaleAnchors": "Scale endpoint labels",
    "delete": "Delete",
    "image": "Image",
    "changeImage": "Change Image",
    "removeImage": "Remove",
    "optionAddImage": "Add image to choice",
    "uploadOrSelectImage": "Upload or select image",
    "clickToOpenImageLibrary": "Click to open image library",
    "instructionText": "Instruction text",
    "minClicks": "Min clicks",
    "maxClicks": "Max clicks",
    "penColor": "Pen color",
    "penColorInvalid": "Enter a valid HEX color (e.g. #000 or #000000)",
    "canvasHeight": "Canvas height (px)",
    "maxFileSize": "Max file size (MB)",
    "maxFiles": "Max files",
    "allowedFileTypes": "Allowed file types",
    "fileTypesHelper": "Comma-separated list of file extensions",
    "paymentDetails": "Payment Details",
    "description": "Description",
    "paymentDescription": "What is this payment for?",
    "paymentType": "Payment Type",
    "paymentTypeFixed": "Fixed amount",
    "paymentTypeVariable": "Variable amount (respondent enters)",
    "amount": "Amount",
    "amountDollars": "Amount",
    "minAmount": "Minimum amount",
    "maxAmount": "Maximum amount",
    "amountCents": "Amount (cents)",
    "currency": "Currency",
    "buttonLabelPayment": "Submit Button Text",
    "addressFields": "Address Fields",
    "allowReplay": "Allow Replay",
    "allowRerecord": "Allow Rerecord",
    "heatmapBestFor": "Best for: website mockups, product packaging, advertisements, store layouts, menu designs",
    "textHighlightPassage": "Text to highlight",
    "textHighlightPassagePlaceholder": "Paste the message, ad copy, or paragraph respondents will highlight.",
    "textHighlightBestFor": "Best for: message testing, ad copy, value propositions, positioning statements.",
    "textHighlightModes": "Highlight tools",
    "textHighlightModeBoth": "Like & Dislike",
    "textHighlightModeLike": "Like only",
    "textHighlightModeDislike": "Dislike only",
    "textHighlightLike": "Like",
    "textHighlightDislike": "Dislike",
    "textHighlightHint": "Select text to highlight. Tap a highlight to remove it.",
    "textHighlightKeyboardLabel": "Keyboard text selection",
    "textHighlightAddSelection": "Add highlight",
    "textHighlightSelectionSummary": "{{likeCount}} Like and {{dislikeCount}} Dislike highlights selected.",
    "textHighlightSelected": "Selected highlights",
    "textHighlightReclassify": "Change “{{excerpt}}” to {{mode}}",
    "textHighlightChange": "Change",
    "textHighlightRemove": "Remove “{{excerpt}}”",
    "textHighlightMissingPassage": "This highlight question is missing its text. Add a passage in the editor.",
    "textHighlightMostLiked": "Most liked phrases",
    "textHighlightMostDisliked": "Most disliked phrases",
    "textHighlightNoPassage": "No passage configured.",
    "textHighlightRespondents": "{{count}} highlighted",
    "imageFormatHint": "Supports JPG, PNG, GIF up to 10MB",
    "includeNoneOption": "Include 'None of these' option",
    "instructionTextHint": "Tell respondents exactly what to click on. E.g.,",
    "instructionTextPlaceholder": "Click on the areas that catch your attention.",
    "minClicksZeroWarning": "Respondents may skip without clicking.",
    "minExceedsMaxWarning": "Min clicks exceeds max clicks — max has been adjusted.",
    "uploadImageForHeatmap": "Upload an image for respondents to click on",
    "designAllowProposals": "Allow change proposals",
    "fieldRequired": "Required",
    "answerRequiredAllFields": "Marks every field below as required"
  },
  "aiInterviewEditor": {
    "editAIPrompt": "Edit AI Prompt",
    "permissions": "Permissions:",
    "promptPlaceholder": "You are conducting a one-on-one interview...",
    "saveChanges": "Save Changes",
    "selectModel": "Select Model",
    "contextMessages": "Context Messages",
    "addContextMessage": "Add context message",
    "noContextMessages": "No context messages added yet",
    "userMessage": "User message",
    "assistantMessage": "Assistant message",
    "contextNotes": "Context Notes",
    "addNotes": "Add notes for the AI",
    "customPersonality": "Custom Personality",
    "createPersonality": "Create personality",
    "editPersonality": "Edit personality",
    "deletePersonality": "Delete personality",
    "personalityName": "Personality name",
    "personalityDescription": "Personality description",
    "tone": "Tone",
    "style": "Style",
    "moreIdeas": "More Ideas",
    "generateIdeas": "Generate ideas",
    "questionTypeOptions": "Question Type Options",
    "allowedTypes": "Allowed Types",
    "enableFollowUp": "Enable follow-up questions",
    "maxFollowUps": "Max follow-ups",
    "promptEditor": "Prompt Editor",
    "systemPrompt": "System Prompt",
    "editPrompt": "Edit prompt",
    "viewPrompt": "View prompt",
    "promptPreview": "Prompt Preview",
    "copyPrompt": "Copy prompt",
    "resetToDefault": "Reset to default",
    "questionsBehaviour": "Questions Behaviour",
    "interviewStyle": "Interview Style",
    "customizeVoiceInterviewer": "Customize how the AI voice interviewer behaves",
    "viewOnly": "View Only",
    "appendOnly": "Append Only",
    "editable": "Editable",
    "customizeInterviewer": "Customize how the AI interviewer behaves",
    "contextOverrideHelp": "Fully override the system context block shown to the AI.",
    "interviewBehaviorCustomizations": "Interview Behavior Customizations",
    "introductionMessage": "Introduction Message",
    "introductionMessageHelp": "Shown before the first AI question as an [Introduction] directive.",
    "postAnswerGuidance": "Post-Answer Guidance",
    "postAnswerGuidanceHelp": "Context messages injected after participant answers.",
    "addMessage": "Add message",
    "noPostAnswerMessages": "No post-answer messages yet.",
    "remove": "Remove",
    "avoidTopicsTitle": "Avoid Topics",
    "avoidTopicsHelp": "Topics the AI should NOT discuss during the interview.",
    "stoppingGuidanceHelp": "Tell the AI when to stop asking questions. Only applies in AI Decides mode.",
    "aiContextNotes": "AI Context Notes",
    "aiContextNotesDescription": "Hidden guidance that influences the AI's next question without appearing in the chat. Only messages with text will be sent to the AI.",
    "aiContextNotesInfo": "Users won't see these messages. They're added to the AI's context to guide better follow-up questions.",
    "initialContext": "Initial Context",
    "beforeQ1": "Before Q1",
    "setToneDescription": "Set the tone and strategy before the AI asks its first question",
    "contextType": "Context Type",
    "selectContextType": "Select context type",
    "message": "Message",
    "initialContextPlaceholder": "E.g., \"Start by building rapport and making the participant comfortable\"",
    "tipBeSpecific": "Tip: Be specific about your strategy. E.g., \"Begin with easy questions\" or \"Focus on understanding their background first\"",
    "noteEmptyIgnored": "Note: Empty messages are ignored and won't affect the AI.",
    "afterQuestion": "After question {{number}}",
    "postAnswerPlaceholder": "Hidden guidance for AI before question {{number}}. E.g., \"Probe deeper on work-life balance preferences\"",
    "tipBeSpecificPost": "Tip: Be specific. E.g., \"Ask about challenges they faced\" or \"Shift to discussing team dynamics\"",
    "noteEmptyNotSent": "Note: Empty messages won't be sent to the AI.",
    "empty": "Empty",
    "clear": "Clear",
    "addNote": "+ Add",
    "noContextSingleQuestion": "No context notes needed for a single question.",
    "increaseFollowUp": "Increase the number of follow-up questions above to add hidden guidance notes.",
    "configured": "configured",
    "addGuidance": "Add guidance for the AI between questions",
    "done": "Done",
    "activeCustomPersonalities": "Active custom personalities",
    "archivedCustomPersonalities": "Archived custom personalities",
    "noCustomPersonalitiesYet": "No custom personalities yet",
    "createFirstPersonality": "Create your first custom AI personality to get started",
    "noArchivedPersonalities": "No archived personalities",
    "archive": "Archive",
    "restore": "Restore",
    "deletePermanently": "Delete permanently",
    "edit": "Edit",
    "exampleGoals": "Example Goals",
    "clickToUseAsGoal": "Click on an example to use it as your goal",
    "editAIPersonality": "Edit interviewer",
    "createAIPersonality": "Create reusable interviewer",
    "editorDisplayOnly": "Profile details",
    "editorDisplayOnlyDescription": "The name, description, and avatar help you identify this saved interviewer. The prompt below controls its reusable voice and personality; study-specific behavior presets are configured in the Interviewer section.",
    "name": "Name",
    "namePlaceholder": "e.g., Empathetic Listener",
    "shortDescription": "Short Description",
    "shortDescriptionPlaceholder": "Brief description of this personality's style",
    "avatarUrl": "Avatar URL (optional)",
    "avatarUrlPlaceholder": "https://example.com/avatar.png",
    "avatarUrlHelper": "Image URL for the personality icon",
    "preview": "Preview",
    "personalityNameFallback": "Personality Name",
    "personalityDescriptionFallback": "Personality description will appear here",
    "interviewerBehavior": "Interviewer Behavior",
    "interviewerBehaviorDescription": "This saved prompt travels with the reusable interviewer. Use the per-study behavior section for methods like Mom Test or Public-opinion pollster.",
    "prompt": "Prompt",
    "promptDescriptionPlaceholder": "Describe this interviewer’s voice, tone, and approach to questions",
    "promptHelper": "Reusable instructions for this interviewer across studies",
    "showExamplePrompts": "Show example prompts from presets",
    "hideExamplePrompts": "Hide example prompts from presets",
    "examplePromptsFromPresets": "Example prompts from preset personalities:",
    "useThis": "Use this",
    "tipEffectivePrompts": "Tip: Effective prompts describe the personality's role, attitude, and communication style. Start with \"a [role] who is trying to [goal]\".",
    "exampleQuestionsLabel": "Example Questions (one per line, optional)",
    "exampleQuestionsHelper": "Sample questions that demonstrate this personality's style. Maximum of 10.",
    "showExampleQuestions": "Show example questions from presets",
    "hideExampleQuestions": "Hide example questions from presets",
    "exampleQuestionsFromPresets": "Example questions from preset personalities:",
    "useThese": "Use these",
    "moreItems": "+{{count}} more...",
    "tipsForQuestions": "Tips for writing effective example questions:",
    "tipMatchTone": "Match the tone and style of your personality prompt",
    "tipOpenEnded": "Use open-ended questions that encourage detailed responses",
    "tipConversational": "Keep questions conversational and natural",
    "tipVariety": "Show variety in question types and depth",
    "tipFormat": "Format: One question per line (press Enter after each)",
    "saveChangesButton": "Save changes",
    "questionTypeOptionsTitle": "Question type options",
    "questionTypeOptionsDescription": "Select which question types the AI can use during the interview.",
    "openEnded": "Open Ended",
    "choiceBased": "Choice Based",
    "scaleBased": "Scale Based",
    "apply": "Apply",
    "aiInterviewPrompts": "AI Interview Prompts",
    "promptTransparency": "Prompt Transparency",
    "promptTransparencyDescription": "These are the instructions sent to the AI when generating follow-up questions. The prompts are customized based on your selected personality and interview topic.",
    "fastThinking": "Fast Thinking",
    "slowThinking": "Slow Thinking",
    "singleApiCall": "Single API Call (1 prompt)",
    "multipleApiCalls": "Multiple API Calls (2 prompts)",
    "systemPromptTab": "System Prompt",
    "userPromptFormat": "User Prompt Format",
    "userPromptFormatDescription": "Shows the template structure with example dialogue. During actual interviews, this is populated with the real conversation history.",
    "fastThinkingDescription": "System prompt + dialogue history generates 1 question directly. More responsive and conversational.",
    "prompt1Description": "System prompt + dialogue history generates 5 candidate follow-up questions.",
    "prompt2Description": "Evaluates the 5 candidates using personality-specific criteria (Clarity, Depth, Engagement, etc.) and selects the highest-scoring question.",
    "personalityLabel": "Personality:",
    "default": "Default",
    "topicLabel": "Topic:",
    "notSet": "Not set",
    "languageLabel": "Language:",
    "copied": "Copied",
    "copy": "Copy",
    "close": "Close",
    "notConfigured": "Not configured",
    "questionPreview": "Question Preview",
    "nothingToSee": "Nothing to see here yet",
    "addFirstQuestion": "Add your first question first",
    "editQuestion": "Edit Question",
    "noQuestionText": "No question text yet",
    "interviewGoalHelp": "The main goal that guides the AI interviewer's questions. Edit this in the main form.",
    "topicsToAvoidHelp": "Topics the AI interviewer should NOT discuss. Edit this in the main form.",
    "fixing": "Fixing...",
    "describeLogicChange": "Describe a logic change...",
    "suggestedLogicChanges": "Suggested logic changes",
    "quickFixesAvailable": "Quick fixes available",
    "lastAIApplyCanBeUndone": "Last AI apply can be undone.",
    "chatToModify": "Chat to modify",
    "flowLogicHint": "Describe the flow logic you want, for example: \"If Q2 is no, skip to Q4 and set fallback to Q5.\"",
    "free": "Free",
    "freeToUse": "Free to use",
    "inputOutputCost": "Input: ${{input}} / Output: ${{output}} per 1M tokens",
    "systemPlusDialogue": "System + Dialogue",
    "oneQuestion": "1 Question",
    "step1SystemDialogue": "1. System + Dialogue",
    "fiveCandidates": "5 Candidates",
    "step2GradePrompt": "2. Grade Prompt",
    "bestQuestion": "Best Question",
    "prompt1Label": "Prompt 1: System + Dialogue → 5 Candidates",
    "prompt2Label": "Prompt 2: Grade & Select Best",
    "contextTag": "[CONTEXT]",
    "stoppingGuidanceTag": "[STOPPING GUIDANCE]",
    "interviewGoalTag": "[INTERVIEW GOAL]",
    "avoidTopicsTag": "[TOPICS TO AVOID]",
    "stoppingPlaceholder": "End when the user has described 3+ pain points...",
    "greetingPlaceholder": "Thank you for participating. I'll be asking you...",
    "followUpPlaceholder": "Great, let's explore that further...",
    "avoidTopicsListPlaceholder": "- Competitor products\n- Pricing details",
    "aiGeneratedTransitions": "AI-generated transitions",
    "aiTransitions": "AI Transitions",
    "nQuestions": "{{count}} Question",
    "nQuestionsPlural": "{{count}} Questions",
    "nMinutes": "{{count}} minutes",
    "addCustomCriteria": "+ Add custom criteria",
    "decideHowManyQuestions": "Decide how many questions the AI should ask.",
    "interviewSessionDuration": "Interview session duration",
    "setDurationText": "Set the duration of the AI question interview session.",
    "minDurationLabel": "2 min",
    "maxDurationLabel": "60 min",
    "expertInterviewer": "Expert Interviewer",
    "anInterviewTopic": "an interview topic"
  },
  "audiences": {
    "title": "Audiences",
    "allRespondents": "All Respondents",
    "createAudience": "Create Audience",
    "audienceName": "Audience name",
    "audienceDescription": "Description (optional)",
    "noAudiences": "No audiences yet",
    "noRespondents": "No respondents yet",
    "deleteAudience": "Delete audience",
    "deleteAudienceConfirm": "Are you sure? Respondents will not be deleted.",
    "createRespondent": "Add Respondent",
    "respondentName": "Name",
    "respondentType": "Type",
    "respondentSource": "Source",
    "respondentEmail": "Email",
    "searchRespondents": "Search respondents...",
    "filterAll": "All",
    "filterSynthetic": "Synthetic",
    "filterReal": "Real",
    "filterImported": "Imported",
    "responseHistory": "Response History",
    "noResponses": "No survey responses yet",
    "audienceMemberships": "Audiences",
    "addToAudience": "Add to Audience",
    "removeFromAudience": "Remove",
    "surveysCompleted": "{{count}} surveys",
    "deleteRespondent": "Delete respondent",
    "deleteRespondentConfirm": "This will permanently delete the respondent and unlink their responses.",
    "personaDetails": "Persona Details",
    "surveys": "Surveys",
    "flagged": "Flagged",
    "lastActive": "Last Active",
    "systemAudience": "System audience",
    "systemAudienceAuto": "(auto)",
    "cannotDeleteSystemAudience": "System audiences cannot be deleted",
    "deleteList": {
      "title": "Delete list \"{{name}}\"?",
      "confirm": "Delete list",
      "mixed": "This list is removed from both Respondents and AI Personas. Its people and personas are not deleted.",
      "people": "The list goes away. The respondents in it are not deleted.",
      "personas": "The list goes away. The personas in it are not deleted."
    }
  },
  "screenCustomization": {
    "title": "Screen Customization",
    "description": "Customize the welcome, thank you, and closed screens for your survey",
    "enableWelcomeScreen": "Enable Welcome Screen",
    "welcomeScreenDesc": "Show a custom welcome message before the survey starts",
    "logoOptional": "Logo (optional)",
    "clickToUploadLogo": "Click to upload your logo",
    "logoRecommendation": "Recommended: 400x150px, PNG or JPG",
    "logoPreview": "Logo preview",
    "welcomeTitle": "Welcome Title",
    "welcomeTitlePlaceholder": "Welcome to our survey",
    "buttonLabel": "Button Label",
    "startSurveyPlaceholder": "Start survey",
    "welcomeDescription": "Welcome Description",
    "displayEstimatedTime": "Display estimated completion time",
    "enableThankYouScreen": "Enable Thank You Screen",
    "thankYouScreenDesc": "Show a custom message after survey completion",
    "thankYouTitle": "Thank You Title",
    "thankYouTitlePlaceholder": "Thank you for your time!",
    "thankYouMessage": "Thank You Message",
    "thankYouMessagePlaceholder": "Your responses have been recorded successfully",
    "showSocialSharing": "Show social sharing buttons",
    "customClosedMessage": "Custom Closed Message",
    "closedMessageDesc": "Override default message when survey is closed",
    "closedTitle": "Closed Title",
    "closedTitlePlaceholder": "Survey Closed",
    "closedMessage": "Closed Message",
    "closedMessagePlaceholder": "This survey is no longer accepting responses",
    "navigationButtons": "Navigation Button Labels",
    "navigationButtonsDesc": "Customize the Back, Next, and Submit button text for traditional surveys"
  },
  "personas": {
    "customPersonas": "Custom personas",
    "createPersona": "Create persona",
    "noCustomPersonasYet": "No custom personas yet.",
    "deletePersona": "Delete persona?",
    "name": "Name",
    "description": "Description",
    "age": "Age",
    "gender": "Gender",
    "location": "Location",
    "occupation": "Occupation",
    "traits": "Traits",
    "notes": "Notes",
    "addPersona": "Add persona",
    "personaName": "Persona name",
    "shortDescription": "Short description",
    "demographicsOptional": "Demographics (optional)",
    "useTemplate": "Use Template",
    "orStartFromTemplate": "Or start from a template:",
    "example": "Example",
    "personas": "Personas",
    "templates": "Templates",
    "myPersonas": "My Personas",
    "editPersona": "Edit persona",
    "save": "Save",
    "create": "Create",
    "templateDescription": "Start with a pre-built persona template and customize it to your needs.",
    "deleteConfirmNamed": "Delete \"{{name}}\"? This action cannot be undone.",
    "deleteConfirmGeneric": "Delete this persona? This action cannot be undone.",
    "agePlaceholder": "e.g., 25-34",
    "genderPlaceholder": "e.g., Female",
    "locationPlaceholder": "e.g., Urban, USA",
    "occupationPlaceholder": "e.g., Software Engineer",
    "contextNotesConfigured": "{{count}} context note(s) configured",
    "noContextNotesConfigured": "No context notes configured",
    "configure": "Configure",
    "descriptionPlaceholder": "e.g., A budget-conscious millennial parent who shops online frequently..."
  },
  "createItem": {
    "createSurveyItem": "Create survey Item",
    "searchQuestions": "Search questions...",
    "allQuestionTypes": "All question types",
    "loadMore": "Load more",
    "optionsLabel": "Options:",
    "fieldsLabel": "Fields:",
    "minimumLabel": "Minimum label:",
    "maximumLabel": "Maximum label:",
    "mediumLabel": "Medium label:",
    "rowsLabel": "Rows:",
    "columnsLabel": "Columns:",
    "generateWithAI": "Generate with AI",
    "describeQuestion": "Describe the question you want to generate with AI",
    "showTips": "Show tips",
    "letAIKnow": "Let the AI know:",
    "notSuggested": "not suggested",
    "aiComingUpWithSuggestions": "AI is currently coming up with suggestions...",
    "aiSuggestionsTip": "For more accurate AI suggestions, make sure to fill out the Title and Description fields in the settings.",
    "tipBeSpecific": "Be Specific: Clearly state the topic and context of the question.",
    "tipDefineGoal": "Define the Goal: Specify what exactly you want to find out.",
    "tipSpecifyFormat": "Specify Format: Mention if you need a specific format (e.g., text, numbers).",
    "tipSetConstraints": "Set Constraints: Indicate any limitations on response length or topic.",
    "noQuestionsFound": "No questions found",
    "all": "All",
    "aiSuggestionsHeader": "AI Suggestions",
    "generate": "Generate",
    "whatToGenerate": "What would you like to generate?",
    "generateQuestions": "Generate Questions",
    "describePlaceholder": "Describe the questions you need — e.g. topic, audience, format, and how many...",
    "tipsForBetterResults": "Tips for better results",
    "tipBeSpecificTitle": "Be specific",
    "tipBeSpecificDescription": "Describe the exact topic, audience, or context you want the questions to cover.",
    "tipDefineGoalTitle": "Define your goal",
    "tipDefineGoalDescription": "Mention what insight or data you want to collect from respondents.",
    "tipSpecifyFormatTitle": "Specify the format",
    "tipSpecifyFormatDescription": "Say whether you want multiple choice, open-ended, rating scales, or a mix.",
    "tipSetConstraintsTitle": "Set constraints",
    "tipSetConstraintsDescription": "Include any limits like number of questions, tone, or difficulty level."
  },
  "richTextEditor": {
    "format": "Format",
    "formattingToolbar": "Text formatting",
    "bold": "Bold",
    "italic": "Italic",
    "underline": "Underline",
    "heading1": "Heading 1",
    "heading2": "Heading 2",
    "heading3": "Heading 3",
    "bulletList": "Bullet List",
    "numberedList": "Numbered List",
    "codeBlock": "Code Block",
    "blockquote": "Blockquote",
    "strikethrough": "Strikethrough",
    "undo": "Undo",
    "redo": "Redo",
    "inlineCode": "Inline Code",
    "subscript": "Subscript",
    "superscript": "Superscript",
    "textDirection": "Text Direction",
    "leftToRight": "Left to Right",
    "rightToLeft": "Right to Left",
    "fontFamily": "Font Family",
    "fontSize": "Font Size",
    "insert": "Insert",
    "insertLink": "Insert Link",
    "insertImage": "Insert Image",
    "insertVideo": "Insert Video",
    "media": "Media",
    "alignLeft": "Align Left",
    "alignCenter": "Align Center",
    "alignRight": "Align Right",
    "divider": "Divider",
    "lineBreak": "Line Break",
    "default": "Default",
    "text": "Text",
    "highlight": "Highlight",
    "none": "None",
    "custom": "Custom",
    "surveyPurposePlaceholder": "Describe your survey purpose and what to expect",
    "insertPipingVariable": "Insert piping variable",
    "viewHtml": "View HTML source",
    "visualEditor": "Back to visual editor",
    "htmlSource": "HTML source"
  },
  "pipingPicker": {
    "piping": "Piping",
    "noPreviousQuestions": "No previous questions yet",
    "addQuestionsAbove": "Add questions above to pipe their answers here",
    "casingTransforms": "Casing transforms",
    "truncation": "Truncation",
    "fallbackDefaults": "Fallback defaults",
    "dateFormatting": "Date formatting",
    "insertWithTransform": "Insert with transform:",
    "answers": "Answers",
    "respondent": "Respondent",
    "system": "System",
    "untitledQuestion": "Untitled question",
    "transformCasingTitle": "Transform casing, truncate, or add fallback",
    "modifiersHint": "Modifiers work on all variable types. Combine with fallbacks:",
    "clickAaHintAnswers": "Click <strong>Aa</strong> on any row to change casing, truncate, or add fallbacks",
    "clickAaHintInfo": "Click <strong>Aa</strong> to transform casing before inserting",
    "alsoTruncateHint": "Also: <code>:words:5</code> or <code>:chars:20</code> to truncate, <code>| \"fallback\"</code> for defaults",
    "dateFormatHint": "Date format:",
    "timeFormatHint": "Time format:",
    "exampleNameUpper": "JOHN",
    "exampleNameFull": "John Doe",
    "exampleNameLower": "John doe",
    "exampleFirstWords": "First five words of…",
    "exampleTruncated": "First twenty charact…",
    "exampleFriend": "Friend"
  },
  "helpSupport": {
    "title": "Help & Support",
    "thanksForReachingOut": "Thanks for reaching out!",
    "weWillGetBack": "We'll get back to you as soon as possible.",
    "close": "Close",
    "name": "Name",
    "yourName": "Your name",
    "email": "Email",
    "yourEmail": "Your email",
    "howCanWeHelp": "How can we help?",
    "describePlaceholder": "Describe your issue or question...",
    "cancel": "Cancel",
    "send": "Send",
    "fillAllFields": "Please fill in all fields.",
    "somethingWentWrong": "Something went wrong. Please try again."
  },
  "surveyActions": {
    "preview": "Preview",
    "edit": "Edit",
    "share": "Share",
    "results": "Results",
    "rename": "Rename",
    "duplicate": "Duplicate",
    "deleteTag": "Delete Tag",
    "renameTag": "Rename Tag",
    "noTagsYet": "No tags yet",
    "addTag": "Add tag",
    "noTagsAvailable": "No tags available",
    "responses": "Responses",
    "questions": "Questions",
    "useThisTemplate": "Use this template",
    "beta": "Beta",
    "tag": "Tag",
    "archive": "Archive",
    "delete": "Delete",
    "cancel": "Cancel",
    "title": "Title",
    "status": "Status",
    "lastModified": "Last modified",
    "customizeTemplate": "You can always customize and edit this template to suit your unique survey needs",
    "archiveError": "Failed to archive survey",
    "republishBlocked": "Can't republish yet — fix the errors flagged in the survey builder first.",
    "moveToTeam": "Move to team",
    "noTeam": "No team",
    "noTeamsYet": "No teams yet",
    "movedToTeam": "Moved to {{team}}",
    "movedToPersonal": "Moved out of the team"
  },
  "surveyExport": {
    "exportSurvey": "Export Survey",
    "exportFormat": "Export Format",
    "includeLogic": "Include Logic",
    "includeTranslations": "Include Translations",
    "download": "Download",
    "exporting": "Exporting...",
    "copied": "Copied!",
    "format": "Format",
    "language": "Language",
    "searchLanguage": "Search a language…",
    "includeInExport": "Include in export",
    "logicRulesAppendix": "Logic rules appendix",
    "aiModerationInstructions": "AI moderation instructions (internal)",
    "welcomeThankYouScreens": "Welcome & Thank you screens",
    "pdfDocument": "PDF Document (.pdf)",
    "wordDocument": "Word Document (.docx)"
  },
  "mobilePreview": {
    "preview": "Preview",
    "typeMessage": "Type a message...",
    "languages": "Languages",
    "welcomeScreen": "Welcome Screen",
    "chat": "Chat",
    "goBack": "Go back",
    "questionCount": "{{count}} question",
    "questionCountPlural": "{{count}} questions",
    "describeSurvey": "Describe what survey you want to build...",
    "messageTooLong": "Message too long ({{current}}/{{max}}). Please shorten it.",
    "characters": "{{current}}/{{max}} characters",
    "stopListening": "Stop listening",
    "voiceInput": "Voice input",
    "translateTo": "Translate to...",
    "noQuestionsYet": "No questions yet. Use the chat to add some.",
    "questions": "Questions",
    "untitledQuestion": "Untitled question",
    "emptyOption": "Empty option",
    "openTextResponse": "Open text response",
    "aiSurveyBuilder": "AI Survey Builder",
    "welcomeNewSurvey": "Tell me what kind of survey you want to build and I'll create the questions for you.",
    "welcomeExistingSurvey": "Tell me how you'd like to change your survey and I'll update it.",
    "surveysBuiltInEnglish": "Surveys are built in English. You can translate to your language afterwards."
  },
  "common": {
    "loading": "Loading...",
    "creating": "Creating",
    "restore": "Restore",
    "back": "Back",
    "continue": "Continue",
    "cancel": "Cancel",
    "close": "Close",
    "delete": "Delete",
    "moreOptions": "More Options",
    "pay": "Pay",
    "remove": "Remove",
    "removing": "Removing",
    "save": "Save"
  },
  "teamInvite": {
    "accepting": "Accepting your invitation…",
    "acceptingAria": "Accepting invitation",
    "errorTitle": "We couldn't open this invite",
    "genericError": "We could not accept this invitation.",
    "wrongAccountHint": "If a teammate invited you, make sure you're signed in with the email address the invite was sent to.",
    "signedInAs": "You're signed in as {{email}}.",
    "switchAccount": "Sign in with a different account",
    "tryAgain": "Try again",
    "goToDashboard": "Go to dashboard"
  },
  "responsesReport": {
    "vanWestendorp": {
      "opp": "Optimal Price Point (OPP)",
      "ipp": "Indifference Price Point (IPP)",
      "pmc": "Point of Marginal Cheapness (PMC)",
      "pme": "Point of Marginal Expensiveness (PME)",
      "tooCheap": "Too cheap",
      "cheap": "Cheap / good value",
      "expensive": "Expensive",
      "tooExpensive": "Too expensive",
      "noData": "No complete price responses yet.",
      "sampleSize": "Based on {{count}} complete responses."
    },
    "npsScore": "NPS",
    "npsPromoters": "Promoters",
    "npsPassives": "Passives",
    "npsDetractors": "Detractors",
    "export": "Export",
    "fraud": "Fraud",
    "verified": "Verified",
    "noSyntheticRuns": "No synthetic runs yet.",
    "show95CI": "Show 95% Confidence Intervals",
    "showSE": "Show Standard Error (2 SE bars)",
    "loadMore": "Load more",
    "noCrossTabData": "No cross-tabulation data available",
    "responsesCollected": "responses collected",
    "selected": "{{count}} selected",
    "clearAll": "Clear all",
    "details": "Details",
    "delete": "Delete",
    "chosenCount": "Chosen {{count}} time",
    "chosenCountPlural": "Chosen {{count}} times",
    "sort": "Sort",
    "highToLow": "High to Low",
    "lowToHigh": "Low to High",
    "otherOption": "Other Option",
    "noneOfAbove": "None of Above",
    "resp": "resp.",
    "noResponsesYet": "No Responses Yet...",
    "emptyResultsHint": "Responses will appear here once your survey starts receiving them.",
    "cancel": "Cancel",
    "pending": "Pending",
    "running": "Running",
    "completed": "Completed",
    "failed": "Failed",
    "interrupted": "Interrupted",
    "started": "Started",
    "ended": "Ended",
    "personaCount": "{{count}} persona",
    "personaCountPlural": "{{count}} personas",
    "completedCount": "{{count}} completed",
    "failedCount": "{{count}} failed",
    "nobodyAnswered": "Nobody answered this question yet",
    "seekingAnswers": "Seeking answers? Ensure insights by marking this question as mandatory for all respondents.",
    "responseCountSingular": "response",
    "responseCountPlural": "responses",
    "skippedCount": "{{count}} skipped",
    "inProgress": "In progress",
    "activeNow": "Active now",
    "synthetic": "Synthetic",
    "responseQuality": "Response Quality",
    "aiScored": "AI-scored",
    "noFlaggedResponses": "No flagged responses",
    "flaggedCount": "{{count}} flagged",
    "distribution": "Response distribution",
    "designAverageRating": "average rating ({{count}})",
    "designFeedback": "Feedback",
    "designProposals": "Change proposals",
    "designNoProposals": "No suggestions for this design yet.",
    "designOpenInEditor": "Open in editor",
    "designAssetAlt": "Design {{index}}",
    "fewerThanFive": "Fewer than 5 responses",
    "withheldSmallGroup": "Some of these responses are past your plan's view limit, so the figures are withheld to protect them.",
    "withheldCell": "Withheld to protect a small group",
    "withheldCrossTab": "Groups of fewer than 5 responses that include some past your plan's view limit are not shown, nor any figure that would reveal them."
  },
  "distribution": {
    "distributeOptions": "Distribution Options",
    "startDistribution": "Start Distribution",
    "launchPopup": "Launch popup",
    "feedback": "Feedback",
    "surveyIsLive": "Your survey is live",
    "quizIsLive": "Your quiz is live",
    "chooseHowToShare": "Choose how you'd like to share it and start collecting responses.",
    "shareOptions": "Share options",
    "shareLink": "Share link",
    "shareLinkDesc": "Copy a public link or set a custom link.",
    "embedOnSite": "Embed on site",
    "embedOnSiteDesc": "Embed the survey on your website.",
    "recruitParticipants": "Recruit participants",
    "recruitParticipantsDesc": "Recruit participants from Prolific.",
    "readyToPublish": "Ready to publish?",
    "doubleCheckBeforePublish": "Before you publish, double-check your questions, logic, and settings.",
    "checklist": "Checklist",
    "questionsAndLogic": "Questions & Logic",
    "questionsAndLogicDesc": "Review question wording and any logic.",
    "surveySettings": "Survey Settings",
    "surveySettingsDesc": "Language, title, response limit, and close date.",
    "access": "Access",
    "accessDesc": "This will create a public link.",
    "backToEditor": "Back to editor",
    "publish": "Publish"
  },
  "publishValidation": {
    "titlePublish": "Fix before publishing",
    "titlePreview": "Fix before previewing",
    "subtitle": "Fix the issues below, then try again.",
    "fix": "Fix",
    "noQuestionsTitle": "No questions yet",
    "noQuestionsDesc": "Add at least one question to your survey.",
    "incompleteContent": "This question has incomplete content.",
    "nouns": {
      "option": "option",
      "row": "row",
      "column": "column",
      "card": "card",
      "category": "category",
      "statement": "statement",
      "controlStatement": "control statement",
      "binLabel": "bin label"
    },
    "problems": {
      "aiGoal": "The AI interviewer needs a goal so it knows what to ask about.",
      "blankTitle": "The question text is blank — respondents would see an empty question.",
      "noEntries": "Add at least one {{noun}}.",
      "blankEntry": "Fill in {{noun}} {{n}} or remove it.",
      "tooFewOptions": "Add at least 2 options — empty options are ignored.",
      "maxDiffCoverage": "Increase the number of sets to at least {{n}} so every item is shown.",
      "blankSensitiveStatement": "Add the sensitive statement respondents evaluate.",
      "blankPassage": "Add the passage respondents will highlight.",
      "blankAgreementLabel": "Add the label for the agreement checkbox.",
      "blankScenarioTemplate": "Add the scenario text respondents will read.",
      "noAttributes": "Add at least one attribute with levels.",
      "blankAttributeName": "Name attribute {{n}} or remove it.",
      "blankLevel": "Fill in level {{level}} of attribute {{attr}} or remove it.",
      "missingImage": "Upload an image for respondents to click on.",
      "guidedTaskNoTasks": "The usability test is on but has no usable tasks — give each task a scenario (or steps), or turn the usability test off.",
      "guidedTaskMissingUrl": "A task targets a website or prototype but has no URL, so respondents won't know where to go.",
      "guidedTaskNoScreenShare": "The usability test records the respondent's screen — turn on screen sharing for this question or its section.",
      "screenShareRequiredNoTask": "This question requires screen sharing but has no usability test, so respondents must share their screen for nothing — turn the usability test back on or turn off screen sharing.",
      "pairedQuestionInvalid": "This question is paired with a question that comes later or no longer exists — pair it with an earlier choice question.",
      "pairedQuestionNotChoice": "This question is paired with a question that isn't multiple choice, so their answers can't be compared — pair it with an earlier choice question.",
      "handoffResumptionDisabled": "This question hands the survey off to the phone app, but session resumption is turned off, so the phone can't continue the same response — turn \"Session resumption\" back on in the survey settings.",
      "audioInterviewLanguageNoVoice": "This voice interview can't be spoken in {{langs}}. No voice is available for that language yet, so switch the question to a text AI interview or remove that language before publishing.",
      "audioInterviewRecordingOff": "Session audio will not be recorded for this interview, so results come back transcript-only — turn recording on in the question's voice settings if you need the audio."
    }
  },
  "pairedChoice": {
    "title": "Same as your earlier answer",
    "body": "You picked \"{{option}}\", the same option you chose in an earlier question. Continue anyway?",
    "confirm": "Yes, continue",
    "cancel": "Go back"
  },
  "filter": {
    "filters": "Filters",
    "addFilter": "Add filter",
    "clearAll": "Clear all",
    "clearAllFilters": "Clear all filters",
    "contains": "Contains",
    "doesNotContain": "Does not contain",
    "equals": "Equals",
    "doesNotEqual": "Does not equal",
    "greaterThan": "Greater than",
    "lessThan": "Less than",
    "between": "Between",
    "apply": "Apply",
    "dateRange": "Date range",
    "allTime": "All time",
    "after": "After {{date}}",
    "to": "To {{date}}",
    "completedResponses": "Completed responses",
    "inProgressResponses": "Responses in progress",
    "abandonedResponses": "Abandoned responses",
    "flaggedHighMedium": "Flagged (high + medium)",
    "highSuspicion": "High suspicion",
    "mediumSuspicion": "Medium suspicion",
    "lowSuspicion": "Low suspicion",
    "noFlagsDetected": "No flags detected",
    "realResponses": "Real responses",
    "syntheticResponses": "Synthetic responses",
    "responseStatus": "Response status",
    "allResponses": "All responses",
    "qualityLevel": "Quality level",
    "allQualityLevels": "All quality levels",
    "responseQualitySignals": "Response Quality Signals",
    "higherScoresIndicateSuspicious": "Higher scores indicate more suspicious activity",
    "source": "Source",
    "allSources": "All sources",
    "completedDesc": "respondent finished and submitted all questions",
    "inProgressDesc": "respondent is still active (last activity within 30 min)",
    "abandonedDesc": "respondent left without finishing (inactive for 30+ min)",
    "completed": "Completed",
    "inProgress": "In progress",
    "abandoned": "Abandoned",
    "veryFastTyping": "Very fast typing (>70% keystrokes under 80ms)",
    "noCorrections": "No corrections (no backspace usage)",
    "copyPasteDetected": "Copy/paste detected",
    "noPageInteractions": "No page interactions (focus/blur)",
    "veryShortTypingTime": "Very short typing time (<2 seconds)"
  },
  "calendar": {
    "today": "Today",
    "lastWeek": "Last week",
    "lastMonth": "Last month",
    "lastYear": "Last year",
    "cancel": "Cancel",
    "apply": "Apply",
    "su": "Su",
    "mo": "Mo",
    "tu": "Tu",
    "we": "We",
    "th": "Th",
    "fr": "Fr",
    "sa": "Sa"
  },
  "ui": {
    "loading": "Loading...",
    "saving": "Saving...",
    "redirecting": "Redirecting....",
    "redirect": "Redirect...",
    "inclVat": "(Incl. VAT)",
    "searchModels": "Search models...",
    "noModelsFound": "No models found",
    "seeDetailedPricing": "See detailed pricing information",
    "sorting": "Sorting",
    "thisTopicIsEmpty": "This topic is empty",
    "enterName": "Enter name",
    "aiTransition": "AI Transition",
    "pageBreak": "Page Break",
    "pageBreakTooltip": "Clears previous questions from view before showing the next question",
    "addBreak": "Add Break",
    "sectionPageBreak": "Page Break · After Section",
    "sectionPageBreakTooltip": "Starts a new page after this whole section. If the section shuffles its questions, the break still comes after all of them.",
    "addSectionBreak": "Add page break after section",
    "breadcrumbLabel": "Breadcrumb",
    "previousMonth": "Previous month",
    "nextMonth": "Next month",
    "openProfileMenu": "Open profile menu",
    "goBack": "Go back",
    "iAgree": "Accept non-essential",
    "cookieNotice": "Optional cookies and tracking technologies send analytics and conversion events to providers configured by the researcher. You may reject them without affecting your participation.",
    "ok": "Ok",
    "remove": "Remove"
  },
  "login": {
    "checkYourInbox": "Check your inbox",
    "sentVerificationLink": "We sent a verification link",
    "to": "to",
    "clickToVerify": "Click the link to verify your account.",
    "openProvider": "Open {{provider}}",
    "linkExpired": "Link expired.",
    "sendNewOne": "Send a new one",
    "linkExpiresIn": "Link expires in {{time}}",
    "resending": "Sending...",
    "resendIn": "Resend in {{seconds}}s",
    "resendVerification": "Resend verification email",
    "didntGetIt": "Didn't get it? Check your spam folder.",
    "newToQuestionPunk": "New to QuestionPunk?",
    "signUp": "Sign up",
    "haveAnAccount": "Have an account?",
    "signIn": "Sign in",
    "privacyPolicy": "Privacy Policy",
    "support": "Support",
    "betterQuestions": "Better questions.",
    "betterInsights": "Better insights.",
    "brandDescription": "Create smarter surveys with AI-powered tools that help you ask the right questions and get actionable answers.",
    "freeAIBalance": "Free to start, no credit card needed. Each month includes 20 responses and 3,000 AI credits ($3 of AI usage) for AI interviews and analysis.",
    "trustedByTeams": "Trusted by research teams worldwide",
    "signInWithApple": "Sign in with Apple",
    "signInWithMicrosoft": "Sign in with Microsoft",
    "signInWithLinkedIn": "Sign in with LinkedIn",
    "signUpWithApple": "Sign up with Apple",
    "signUpWithMicrosoft": "Sign up with Microsoft",
    "signUpWithLinkedIn": "Sign up with LinkedIn",
    "registrationRejected": "Registration rejected",
    "enterYourPassword": "Enter you password",
    "passwordPlaceholder": "Password (min 8 characters)",
    "requestNewResetLink": "Request New Reset Link",
    "backToLogin": "Back to Login",
    "expiredResetLink": "For your security, password reset links expire after {{minutes}} minutes.",
    "dontWorry": "Don't worry! You can easily request a new password reset link below.",
    "noEmailInInbox": "No email in your inbox or spam folder?",
    "didntReceiveLink": "Didn't receive a link?",
    "didntReceiveLinkDesc": "Please contact us to have a link directly sent to the email associated with your QuestionPunk account, or check your spam folder.",
    "ifEmailAssociated": "If the email you entered is associated with a QuestionPunk account, you should receive a link to create a new password shortly.",
    "back": "Back",
    "templateBannerHeading": "Start with “{{title}}”",
    "templateBannerHeadingGeneric": "Start with your selected template",
    "templateBannerSub": "It'll be waiting in your workspace as soon as you're in — free, no credit card.",
    "authErrors": {
      "Verification": "Your sign-in link has expired or was already used. Please request a new one.",
      "OAuthCallback": "There was a problem signing in with your provider. Please try again.",
      "OAuthSignin": "There was a problem signing in with your provider. Please try again.",
      "OAuthCreateAccount": "There was a problem signing in with your provider. Please try again.",
      "OAuthAccountNotLinked": "This email already has an account. Sign in with the method you originally used, or continue with your email to request a sign-in link.",
      "EmailSignin": "Could not send the sign-in email. Please try again.",
      "AccessDenied": "Access denied. You do not have permission to sign in."
    }
  },
  "surveyReview": {
    "chatStep": "Chat",
    "emailGate": "Enter your email to continue",
    "processing": "Processing your responses...",
    "pleaseWait": "Please wait while we process your data",
    "uploadStep": "Upload",
    "dragAndDrop": "Drag and drop files here",
    "orClickToUpload": "or click to upload",
    "maxFileSize": "Max file size",
    "uploading": "Uploading...",
    "pasteText": "Paste Text",
    "uploadFile": "Upload File",
    "importUrl": "Import URL",
    "pasteTextPlaceholder": "Paste your survey questions here — or an entire document, business plan, or research brief...",
    "characters": "characters",
    "reviewMySurvey": "Review my survey",
    "dropFileHere": "Drop a file here or click to browse",
    "fileTypesAndSize": "up to 20MB",
    "qualtricsExportHint": "Qualtrics users: export via Survey > Tools > Import/Export > Export Survey",
    "remove": "Remove",
    "importUrlPlaceholder": "Paste your Qualtrics, SurveyMonkey, or Google Forms link...",
    "detected": "{{label}} detected",
    "importing": "Importing...",
    "import": "Import",
    "questionsFound": "{{count}} question found",
    "questionsFoundPlural": "{{count}} questions found",
    "tryAgain": "Try again",
    "useThis": "Use this",
    "unsupportedFileType": "Unsupported file type. Please upload a PDF, DOCX, TXT, or QSF file.",
    "fileTooLarge": "File is too large. Maximum size is 20MB.",
    "pasteTextError": "Please paste some text to review.",
    "selectFileError": "Please select a file to upload.",
    "enterUrlError": "Please enter a URL.",
    "researchContext": "Research Context",
    "runReview": "Run Review",
    "typeYourAnswer": "Type your answer...",
    "send": "Send",
    "emailPlaceholder": "you@example.com",
    "yourReviewIsReady": "Your review is ready",
    "createInQuestionPunk": "Create in QuestionPunk",
    "reviewFailed": "Review failed",
    "researchGradeRubric": "Research-grade rubric",
    "questionByQuestion": "Question-by-question",
    "revisedSurveyIncluded": "Revised survey included",
    "questionPunkPro": "QuestionPunk Pro"
  },
  "previewLogic": {
    "if": "If",
    "then": "Then",
    "goTo": "Go to",
    "end": "End"
  },
  "branchingLogic": {
    "addCondition": "Add condition",
    "and": "And",
    "or": "Or"
  },
  "flowValidationIssues": {
    "crossQuestionForwardReferenceTitle": "{{sourceLabel}} evaluates a later question",
    "crossQuestionForwardReferenceDescription": "This rule reads the answer to {{targetLabel}}, which the respondent reaches at or after this point in the flow. Reference a question that comes earlier so the answer exists when the rule runs.",
    "crossQuestionSelfReferenceDescription": "This rule reads the answer to the same question it branches from. Reference an earlier question instead.",
    "noReachableEndTitle": "No respondents can finish the survey",
    "noReachableEndDescription": "Your branching logic leaves no path that reaches the end of the survey or a completion screen. Review your branches and fallbacks so every respondent can complete."
  },
  "buildTab": {
    "addQuestion": "Add Question",
    "questionBank": "Question Bank",
    "generateWithAI": "Generate with AI",
    "aiSuggestions": "AI Suggestions",
    "categoryFormStructure": "Form structure",
    "categoryAI": "AI",
    "categoryMedia": "Media",
    "categoryDateTime": "Date & time",
    "categoryContactInfo": "Contact information",
    "categoryChoices": "Choices",
    "categoryScales": "Scales",
    "categoryText": "Text",
    "categoryAdvanced": "Advanced",
    "categoryVerification": "Verification",
    "backToQuestionTypes": "Back to question types",
    "newAbCondition": "New A/B condition",
    "searchQuestionTypes": "Search question types",
    "noQuestionTypesMatch": "No question types match \"{{query}}\"",
    "emptyState": {
      "title": "No questions yet",
      "description": "Describe your study and the AI will draft it, or start from a template or add questions yourself.",
      "describe": "Describe your study",
      "startFromTemplate": "Start from a template"
    }
  },
  "sort": {
    "newest": "Newest",
    "oldest": "Oldest",
    "alphabetical": "Alphabetical",
    "mostResponses": "Most responses"
  },
  "customUrl": {
    "customizeUrl": "Customize URL"
  },
  "responseDetails": {
    "title": "Response details",
    "events": "Events",
    "unknown": "Unknown",
    "respondent": "Respondent",
    "panelIncentive": {
      "title": "Panel review",
      "loading": "Loading panel review…",
      "ownerOnly": "Panel incentive review is available only to the survey owner. You can still review the response content.",
      "loadFailed": "Panel review details could not be loaded.",
      "submissionStatus": "Submission status",
      "reward": "Reward",
      "submitted": "Submitted",
      "paid": "Paid",
      "payout": "Payout",
      "rewardClaimed": "Reward claimed",
      "reviewFlags": "Review flags: {{flags}}",
      "awaitingManualSettlement": "Awaiting manual settlement",
      "dispatchedSettling": "Dispatched, settling",
      "dispatching": "Dispatching now",
      "queuedForDispatch": "Queued for dispatch",
      "updateFailed": "We could not update this panel submission. Try again.",
      "reviewActions": "Review decision"
    }
  },
  "surveySettingPopup": {
    "setting": "Setting"
  },
  "table": {
    "survey": "Survey",
    "description": "Description",
    "surveyId": "Survey ID",
    "date": "Date",
    "numberOfQuestions": "# of Questions",
    "status": "STATUS",
    "actions": "Actions",
    "draft": "Draft",
    "published": "Published",
    "noSurveysFound": "No Surveys Found",
    "search": "Search",
    "filter": "Filter",
    "mySurveys": "My Surveys",
    "billingHistory": "Billing History",
    "month": "Month",
    "year": "Year",
    "allTime": "All Time",
    "preview": "Preview",
    "edit": "Edit",
    "delete": "Delete",
    "confirmDelete": "Are you sure you want to delete this item?",
    "rowsPerPage": "Rows per page:",
    "sortLabel": "Sort",
    "questionType": "Question type",
    "question": "Question",
    "answer": "Answer",
    "responseId": "Response ID",
    "exportAsCsv": "Export as CSV",
    "surveyActionsLabel": "Survey Actions",
    "tableColumnsLabel": "Table Columns",
    "draftSurveyTable": "Draft survey table"
  },
  "marketing": {
    "toggleNavigation": "Toggle Navigation",
    "signIn": "Sign in",
    "signUp": "Sign Up",
    "home": "Home",
    "createYourOwnSurvey": "Create Your Own Survey",
    "privacyPolicy": "Privacy policy..."
  },
  "chat": {
    "closingSession": "Closing session...",
    "aiAudioInterview": "AI Audio Interview",
    "start": "Start",
    "hangUp": "Hang up",
    "requestPermissions": "Request Permissions",
    "waitingForAgent": "Waiting for agent to join the room...",
    "liveTranscript": "Live transcript",
    "liveTranscriptLive": "Live",
    "liveTranscriptWaiting": "Listening…",
    "enableAudio": "Click to enable audio",
    "clickRecordToStart": "Click the record button to start",
    "startRecording": "Start recording",
    "stopRecording": "Stop recording",
    "stop": "Stop",
    "reRecordVideo": "Re-record video",
    "reRecord": "Re-record",
    "scrollToBottom": "Scroll to bottom",
    "visitWebsite": "Visit QuestionPunk website",
    "unmute": "Unmute",
    "mute": "Mute",
    "connectingEllipsis": "Connecting…",
    "agentFirstTurnTimeout": "We couldn't reach the interviewer. Please start the session again.",
    "timeRemaining": "{{time}} remaining",
    "surveyComplete": "Survey Complete!",
    "createYourOwnSurvey": "Create your own survey on",
    "incentiveWelcomeGiftbit": "Earn ${{reward}} for completing this survey",
    "incentiveCompletionGiftbit": "Your response is complete. If eligible, your ${{reward}} reward will be sent after checks.",
    "surveyNotYetOpen": "This survey is not yet open. Please check back later.",
    "responsesClosedForNew": "Responses are not allowed. Current survey is closed for new responses.",
    "responsesLimitReached": "Responses are not allowed. You have reached the current limit for responses in one month. Please upgrade your account to allow additional responses.",
    "responsesUnsupportedBrowser": "Responses are not allowed. Unsupported browser detected. Please use a supported browser.",
    "responsesIncognitoRestricted": "Responses are not allowed. Incognito mode is restricted.",
    "responsesDesktopRequired": "This survey requires a desktop browser that can share its screen. Please open it on a laptop or desktop in Chrome, Edge, or Firefox.",
    "continueInAppTitle": "Continue in the QuestionPunk app",
    "continueInAppBody": "This study records your phone screen, which needs the QuestionPunk app. Open it below, or get it on Google Play if you don't have it yet.",
    "continueInAppBodyIos": "This study records your phone screen, which needs the QuestionPunk app. Open it below, or get it on the App Store if you don't have it yet.",
    "continueInAppButton": "Open the QuestionPunk app",
    "continueInAppGetApp": "Get it on Google Play",
    "continueInAppGetAppIos": "Get it on the App Store",
    "appOnlyInterstitialTitle": "Take this survey in the QuestionPunk app",
    "appOnlyInterstitialBody": "The researcher set up this survey for the Android app. Open it below, or get it on Google Play if you don't have it yet.",
    "appOnlyContinueOnWeb": "Continue on the web instead",
    "kakaoInterstitial": {
      "title": "Open in your browser",
      "body": "You opened this inside KakaoTalk. For the survey to save your progress reliably, please continue in your phone's browser — it only takes one tap.",
      "openButton": "Open in browser",
      "continueAnyway": "Continue here anyway"
    },
    "handoffLinkCopied": "Link copied. After installing, open the QuestionPunk app and paste this link to continue where you left off.",
    "handoffLinkCopyFailed": "Copy this link. After installing, open the QuestionPunk app and paste it to continue where you left off.",
    "handoffLinkLabel": "Link to continue this study in the app",
    "handoffCopyLink": "Copy link",
    "interviewAndroidOnlyTitle": "Continue on an Android phone or a desktop",
    "interviewAndroidOnlyBody": "This step needs the QuestionPunk app, which is available on Android only. Open this survey on an Android phone, or use a desktop browser that can share its screen.",
    "screenShareConsentTitle": "Share your screen to continue",
    "screenShareConsentBody": "This section asks you to share your screen so we can see how you use it while you answer. Your screen is recorded along with the rest of your responses.",
    "screenShareConsentBodyUnrecorded": "This section asks you to share your screen so we can see how you use it while you answer.",
    "screenShareConsentBodyOptional": "This section can share your screen so we can see how you use it. If you'd rather not share, you can continue without sharing.",
    "screenShareConsentButton": "Share my screen",
    "screenShareSkipButton": "Continue without sharing",
    "screenShareDeclineButton": "End survey",
    "screenShareDeclineConfirm": "Are you sure you want to end the survey? Screen sharing is required to continue.",
    "screenShareIndicatorLabel": "Sharing your screen",
    "screenShareIndicatorStop": "Stop sharing",
    "screenShareError": "We couldn't start the screen share. Try again, or pick a different window when the browser asks.",
    "screenShareEnded": "Screen sharing ended. Resume to keep going.",
    "screenShareResume": "Share again",
    "continueOnMobileTitle": "Continue on your phone",
    "continueOnMobileBody": "Open the QuestionPunk app on your phone to share your screen and finish this step.",
    "continueOnMobileScanHint": "Scan with your phone camera",
    "continueOnMobileInstallRescanHint": "If you install the app first, come back and use this screen again — opening a pasted survey link in the app restarts the survey from the beginning.",
    "continueOnMobileOpenApp": "Open in the QuestionPunk app",
    "continueOnMobileOpenAppHint": "Opens the app, or the install page if you don't have it yet.",
    "continueOnMobileDone": "I've finished on my phone, continue",
    "continueOnMobileChecking": "Checking your phone's progress…",
    "continueConfirmTitle": "We couldn't detect a completed task on your phone",
    "continueConfirmBody": "We haven't received anything from your phone for this session. If you already finished the task on your phone, you can continue. Otherwise, scan the QR code to do this part on your phone first.",
    "continueConfirmProceed": "Continue anyway",
    "continueConfirmCancel": "Go back",
    "continueOnMobileCopyLink": "Copy link",
    "continueOnMobileCopied": "Copied",
    "guidedTask": {
      "stepLabel": "Step {{step}} of {{total}}",
      "iDidIt": "I did it",
      "done": "Task complete — nice work!",
      "stuckHint": "Taking a while? The AI will move you on.",
      "wrongTurnHint": "That doesn't look right — the AI will help.",
      "wrongTurnRecoveryHint": "Check the assigned site above, then reopen it if needed.",
      "taskLabel": "Task {{index}} of {{total}}",
      "debrief": "A few quick questions about that task",
      "minTimeHint": "Take a moment with this one before moving on",
      "timeLeft": "{{seconds}}s left",
      "scenarioLabel": "Your task",
      "waitingForStep": "Go ahead and try it on your shared screen.",
      "doneWithTask": "Done with task",
      "giveUp": "Give up",
      "advanceHint": "Press \"I did it\" when you’ve finished this step",
      "openHint": "Tap \"Open the website\" to begin the task",
      "openGuideFirst": "Open the floating guide",
      "embedOpenInNewTab": "Open in a new tab instead",
      "embedClose": "Close the embedded website",
      "embedBlockedHint": "If the website stays blank, it does not allow embedding. Use \"Open in a new tab instead\" above.",
      "showMore": "Show more",
      "showLess": "Show less",
      "assignedSite": "Assigned site: {{site}}",
      "openAssignedSite": "Open assigned site",
      "reopenAssignedSite": "Reopen assigned site",
      "popupBlocked": "Your browser blocked the new tab. Allow pop-ups for QuestionPunk, then try again.",
      "transitionPending": "Confirming that step…",
      "transitionPendingShort": "Confirming…",
      "transitionRetry": "Try again",
      "transitionFailed": "We couldn’t confirm that change. Check the current task, then try again.",
      "onSite": "on {{site}}",
      "nowOnSite": "You’re now on {{site}}"
    },
    "usabilityTaskTitle": "Your task",
    "usabilityTaskOpenButton": "Open the website",
    "responsesMultipleRestricted": "Responses are not allowed. Multiple submissions is restricted.",
    "busyRetrying": "Lots of people are taking this right now, one moment…",
    "surveyTemporarilyUnavailable": "The survey is temporarily unavailable. Please try again later.",
    "surveyUnavailableTitle": "This survey is not available",
    "surveyUnavailableDescription": "It may have been closed by its owner, or the link may be incorrect.",
    "poweredBy": "Powered by",
    "allocateTotal": "Allocate a total of",
    "acrossOptionsBelow": "across the options below",
    "totalMustEqual": "Total must equal exactly",
    "valuesMustBeBetween": "Values must be between",
    "selectOptions": "Select options",
    "followPattern": "Follow this pattern to proceed",
    "enterValidEmail": "Please enter a valid email",
    "clearAll": "Clear all",
    "noneOfTheAbove": "None of the above",
    "consentSign": "Sign here",
    "consentClear": "Clear",
    "atLeast": "at least",
    "upTo": "up to",
    "enterValidPhone": "Please enter a valid phone number",
    "contactMethodRequired": "Please provide an email address or a phone number",
    "moveUp": "Move up",
    "moveDown": "Move down",
    "removeFromRanking": "Remove from ranking",
    "dragItemsToRank": "Drag items here to rank them",
    "allItemsRanked": "All items ranked",
    "rankingInstructions": "Drag items from the Options list to the Ranked Items list in your preferred order",
    "rankedBallotInstructions": "Rank as many options as you want. Your first-ranked option is counted first.",
    "rankedItems": "Ranked Items",
    "enterValidUrl": "Enter a valid URL",
    "createYourOwnSurveyShort": "Create your own survey",
    "switchToVoice": "Switch to voice input",
    "cancelRecording": "Cancel recording",
    "switchToKeyboard": "Switch to keyboard input",
    "timeToComplete": "Time to complete",
    "lessThanMinute": "Less than a minute",
    "pressEnterToSend": "Press Enter to send",
    "pressCmdEnterToSend": "Press Cmd+Enter to send",
    "pressCtrlEnterToSend": "Press Ctrl+Enter to send",
    "speaking": "Speaking...",
    "listening": "Listening...",
    "thinking": "Thinking...",
    "connecting": "Connecting...",
    "speakingSubtitle": "Please listen carefully!",
    "listeningSubtitle": "It's your turn to answer!",
    "thinkingSubtitle": "Processing your answer...",
    "connectingSubtitle": "Setting up your interview session",
    "endSession": "End Session",
    "microphoneInterrupted": "Microphone interrupted",
    "microphoneReconnecting": "Reconnecting microphone…",
    "microphoneReconnectingHelp": "Your audio stopped reaching the interviewer. We’re trying to reconnect. Please wait before speaking.",
    "microphoneReconnectedHelp": "Microphone reconnected. Please repeat your last answer.",
    "microphoneInterruptedHelp": "Your microphone is not sending audio. Check microphone access in your browser, then reconnect.",
    "restartMicrophone": "Reconnect microphone",
    "microphoneReconnectFailed": "Could not reconnect the microphone. Please check microphone access and try again.",
    "skip": "Skip",
    "aiInterviewIntro": "<p>Next, you'll have a short voice conversation with our AI interviewer.<br /></p><p>Please speak naturally, just as you would in a regular conversation, and feel free to ask questions or share your thoughts openly.</p>",
    "aiInterviewIntroRecorded": "<p>Next, you'll have a short voice conversation with our AI interviewer.<br /></p><p>Please speak naturally, just as you would in a regular conversation, and feel free to ask questions or share your thoughts openly.<br /></p><p>This interview will be recorded.</p>",
    "permissionNotice": "This interview uses your {{permission}}. Your browser will now ask for access to it.",
    "aiConsent": {
      "title": "How your data is used",
      "what": "We collect your voice recording, the interview transcript, and — if you choose to share it — your screen recording.",
      "whoLead": "This data is processed by {{processors}}, and the ",
      "whoLink": "AI processors listed in our Privacy Policy",
      "whoTail": ".",
      "why": "It is used to transcribe your answers, run the AI interview moderator, and analyze results for this study.",
      "controllerTransfer": "The researcher or organization that invited you controls this study. QuestionPunk and the listed providers process data on its behalf, potentially in the United States and other countries described in the Privacy Policy.",
      "noTraining": "QuestionPunk uses these providers to run this study. See the Privacy Policy for each provider's role and the terms that apply.",
      "withdraw": "You can stop at any time, and you can withdraw consent later by emailing privacy@questionpunk.com.",
      "agree": "I agree to my voice recording, transcript and screen recording being shared with the AI providers named above.",
      "accept": "Continue with AI interview",
      "decline": "Decline and continue without the interview"
    },
    "microphoneAndCamera": "Microphone and Camera",
    "microphone": "Microphone",
    "permissionDenied": "Access was denied. Please enable {{permission}} access in your browser settings and try again.",
    "permissionNoticeMicrophone": "This interview uses your microphone. Your browser will ask for access when you continue.",
    "permissionNoticeCamera": "This interview uses your camera. Your browser will ask for access when you continue.",
    "permissionDeniedMicrophone": "Access was denied. Please enable microphone access in your browser settings and try again.",
    "permissionDeniedCamera": "Access was denied. Please enable camera access in your browser settings and try again.",
    "permissionHelp": "Need help with permission?",
    "micPermissionGranted": "Microphone permission granted!",
    "startInterviewThanks": "Thank you for granting microphone access. When you're ready, let's begin the interview.",
    "deviceInUseNotice": "We'll be using your {{device}} for this interview. When you're ready, let's begin.",
    "startInterviewSession": "Start Interview Session",
    "previewScreenShareHandoffNotice": "Preview only — you can test the interview here on any device. Real respondents on desktop will be asked to continue on their phone to share their screen.",
    "shellHandoff": {
      "title": "Starting the interview in the app",
      "description": "The next part runs right here in the QuestionPunk app. You'll return to this page when it's done."
    },
    "voiceInterviewCompleted": "Voice interview completed",
    "camera": "Camera",
    "surveyRestricted": "Survey Restricted",
    "noAndroidPhone": "I don't have an Android phone available",
    "noAndroidPhoneRequired": "This part needs an Android phone. Continue the rest of the survey or exit.",
    "guidedTaskInProgressTitle": "Running on your phone",
    "guidedTaskProgressOfTotal": "Task {{current}} of {{total}} · step {{step}}",
    "guidedTaskProgressNoTotal": "Task {{current}} · step {{step}}",
    "handoffLive": {
      "settingUp": "Setting up on the phone…",
      "interviewRunning": "Interview running on your phone",
      "interviewSubtitle": "This page will continue automatically when you finish on the phone.",
      "debrief": "Talking through task {{current}} — quick debrief",
      "wrappingUp": "Wrapping up on the phone…",
      "currentTask": "Now: {{title}}"
    },
    "phoneMirror": {
      "label": "Phone screen",
      "live": "Live",
      "expand": "Expand the live phone view",
      "collapse": "Collapse the live phone view"
    },
    "guidedTaskDidNotFinishTitle": "Did you finish on your phone?",
    "guidedTaskDidNotFinishBody": "It looks like you left before finishing every task ({{completed}} of {{total}} done). What would you like to do?",
    "guidedTaskDidNotFinishBodyNoTotal": "It looks like you left before finishing every task. What would you like to do?",
    "guidedTaskRecheck": "I've finished all the tasks and steps — check again",
    "guidedTaskChecking": "Checking…",
    "guidedTaskFinishAsIs": "Yes, I want to finish the interview",
    "guidedTaskGoBack": "No, I want to go back",
    "guidedTaskGoBackTitle": "Continue on your phone",
    "guidedTaskGoBackBody": "Scan this code to pick up where you left off.",
    "guidedTaskBack": "Back",
    "desktopRecorder": {
      "title": "Record your screen",
      "introRequired": "Record your screen while you complete the tasks below, then review and submit your recording. Everything is captured on your device, nothing is streamed live.",
      "introOptional": "You can record your screen while you complete the tasks below, then review and submit your recording. Everything is captured on your device, nothing is streamed live.",
      "checklistTitle": "Tasks to complete",
      "start": "Start recording",
      "recording": "Recording…",
      "paused": "Paused",
      "pause": "Pause",
      "resume": "Resume",
      "stop": "Stop recording",
      "reviewHint": "Watch your recording below. Re-record if you want to try again, or submit when you are happy with it.",
      "reRecord": "Re-record",
      "submit": "Submit recording",
      "uploading": "Uploading your recording…",
      "done": "Recording submitted. Thank you!",
      "startError": "We could not start the screen recording. Please allow screen sharing and try again.",
      "uploadError": "We could not upload your recording. Please try submitting again.",
      "emptyError": "The recording was empty. Please try recording again.",
      "openTask": "Open the website"
    },
    "designAssetAlt": "Design {{index}}",
    "designRateLabel": "Your rating",
    "designFeedbackPlaceholder": "Share your feedback…",
    "designSuggestChange": "Suggest a change",
    "designPinHint": "Tap a design to pin a note on it.",
    "designPinNoteLabel": "Note for this spot",
    "designPinNotePlaceholder": "What would you change here?",
    "designPinAdd": "Add note",
    "designPinCancel": "Cancel",
    "designRemovePin": "Remove note {{index}}",
    "designPartialAnswerHint": "Some inputs are still empty. Fill them in, or press send again to send your answer as it is.",
    "guidedTaskCompanion": {
      "popOut": "Pop out floating guide",
      "backToSurvey": "Back to survey",
      "recording": "Recording",
      "sharing": "Sharing screen",
      "moderator": "Moderator",
      "listening": "Listening for the moderator…"
    },
    "screenShareEndedTitle": "Survey ended",
    "screenShareEndedBody": "You ended the survey. Screen sharing is required for this part, so the survey is not complete. You can close this window.",
    "fieldRequired": "This field is required"
  },
  "agentSurvey": {
    "surveyPreview": "Survey Preview",
    "questions": "Questions",
    "createSurvey": "Create Survey",
    "options": "Options:",
    "minimumLabel": "Minimum label:",
    "maximumLabel": "Maximum label:",
    "mediumLabel": "Medium label:",
    "rows": "Rows:",
    "columns": "Columns:",
    "emptyQuestion": "Empty question"
  },
  "mobileChatEditor": {
    "describeSurvey": "Describe what survey you want to build...",
    "translateTo": "Translate to...",
    "emptyOption": "Empty option",
    "aiSurveyBuilder": "AI Survey Builder"
  },
  "buildMobile": {
    "home": "Home",
    "back": "Back",
    "moreOptions": "More options",
    "questions": "Questions",
    "aiChat": "AI Chat",
    "preview": "Preview",
    "comingSoon": "Coming soon",
    "add": "Add",
    "noQuestions": "No questions yet.",
    "untitledSection": "Untitled section",
    "questionLabel": "Question",
    "editQuestion": "Edit question",
    "done": "Done",
    "questionNumber": "Question {{number}}",
    "saving": "Saving…",
    "saved": "Saved",
    "previousQuestion": "Previous question",
    "nextQuestion": "Next question",
    "addQuestion": "Add question",
    "close": "Close",
    "settings": "Settings",
    "versionHistory": "Version history",
    "undo": "Undo",
    "redo": "Redo",
    "previewSurvey": "Preview",
    "sharePreview": "Share preview",
    "searchQuestionTypes": "Search question types",
    "noQuestionTypesMatch": "No question types match \"{{query}}\""
  },
  "branding": {
    "loadingSubscription": "Loading subscription and billing information"
  },
  "design": {
    "theme": {
      "default": {
        "name": "Default",
        "description": "Clean and minimal"
      },
      "dark": {
        "name": "Dark Mode",
        "description": "Easy on the eyes"
      },
      "ocean": {
        "name": "Ocean Breeze",
        "description": "Calm and professional"
      },
      "forest": {
        "name": "Forest",
        "description": "Natural and earthy"
      },
      "sunset": {
        "name": "Sunset",
        "description": "Warm and inviting"
      },
      "orchid": {
        "name": "Orchid",
        "description": "Vibrant and expressive"
      },
      "minimal": {
        "name": "Minimal",
        "description": "Simple and clean"
      }
    },
    "bubbleStyle": {
      "rounded": "Rounded",
      "square": "Square",
      "minimal": "Minimal",
      "modern": "Modern",
      "none": "None"
    },
    "fontStyle": {
      "system": "System",
      "sansSerif": "Sans Serif",
      "serif": "Serif",
      "monospace": "Monospace",
      "rounded": "Rounded"
    },
    "inputStyle": {
      "rounded": "Rounded",
      "square": "Square",
      "minimal": "Minimal",
      "underlined": "Underlined",
      "bordered": "Bordered"
    },
    "sendButtonStyle": {
      "rounded": "Rounded",
      "square": "Square",
      "circle": "Circle",
      "pill": "Pill",
      "minimal": "Minimal"
    },
    "answerOptionStyle": {
      "tint": "Tinted",
      "outlined": "Outlined",
      "soft": "Soft",
      "pill": "Pill"
    },
    "inputMode": {
      "textFirst": "Text First",
      "audioFirst": "Audio First"
    },
    "typingLabelMode": {
      "default": "Default",
      "customList": "Custom List",
      "aiCreative": "AI Creative"
    },
    "streamingMode": {
      "raw": "Raw",
      "wordByWord": "Word by Word",
      "letterByLetter": "Letter by Letter"
    },
    "surveyMode": {
      "chat": "Chat",
      "sequential": "Sequential",
      "traditional": "Traditional",
      "chatDesc": "Conversational",
      "sequentialDesc": "One question at a time",
      "traditionalDesc": "Classic form"
    },
    "previewResponse1": "I'm feeling great! Thanks for asking.",
    "previewResponse2": "I usually wake up at 6:00 AM and start my day with a morning jog.",
    "previewPlaceholder": "Type your message here...",
    "aiDesignPlaceholder": "e.g., \"Modern dark theme with purple accents\"",
    "examplePromptDark": "Dark & modern",
    "examplePromptWarm": "Warm & friendly",
    "examplePromptMinimal": "Clean & minimal",
    "examplePromptBold": "Bold & colorful",
    "generatingDesign": "Generating your design...",
    "generatedTheme": "Generated Theme",
    "colors": "Colors",
    "styles": "Styles",
    "avatarAndStatus": "Avatar & Status",
    "preview": "Preview",
    "generateLogo": "Generate your assistant logo with AI",
    "describeLogo": "Describe the logo you want, and we'll generate it for you",
    "useThisLogo": "Use This Logo",
    "refine": "Refine",
    "refiningImage": "Refining image...",
    "generatingImage": "Generating image...",
    "refining": "Refining",
    "describeRefine": "Describe how to refine the image...",
    "describeLogo2": "Describe your logo...",
    "send": "Send",
    "desktop": "Desktop",
    "tablet": "Tablet",
    "mobile": "Mobile",
    "previewWelcome": "Welcome! How are you feeling today?",
    "previewFollowUp": "That's great to hear! What's your morning routine like?",
    "seamless": {
      "yourSurvey": "Your survey",
      "restart": "Restart preview",
      "fullScreen": "Open full preview",
      "editAppearance": "Edit appearance",
      "showPreview": "Preview survey",
      "brand": "Brand",
      "brandColor": "Brand color",
      "more": "More",
      "moreHint": "More appearance options",
      "savedHint": "Changes save automatically"
    }
  },
  "plans": {
    "freeDescription": "Get started for free with basic features.",
    "proDescription": "For professionals who need more power and flexibility.",
    "enterpriseDescription": "Custom solutions for large organizations.",
    "choosePlan": "Choose Plan",
    "contactTeam": "Contact Team",
    "surveyResponses": "{{count}} survey responses",
    "unlimitedResponses": "Unlimited responses",
    "aiCredits": "{{amount}} AI credits / month",
    "customAiCredits": "Custom AI credits",
    "unlimitedSurveys": "Unlimited surveys",
    "removeBranding": "Remove branding",
    "prioritySupport": "Priority support",
    "dedicatedSlack": "Dedicated Slack channel",
    "type": {
      "free": "Free",
      "pro": "Pro",
      "enterprise": "Enterprise"
    },
    "period": {
      "month": "month",
      "year": "year"
    }
  },
  "surveyStatus": {
    "draft": "Draft",
    "draftDescription": "Your survey remains unpublished, with responses not yet collected.",
    "live": "Live",
    "liveDescription": "Your survey is live and accepting new responses.",
    "closed": "Closed",
    "closedDescription": "Your survey is closed and is no longer accepting new responses.",
    "scheduled": "Scheduled",
    "scheduledDescription": "Your survey is published but not yet open. It will open automatically at the scheduled time."
  },
  "notFound": {
    "title": "Page not found",
    "description": "Sorry, we couldn't find the page you're looking for.",
    "goHome": "Go back home"
  },
  "Back": "Back",
  "Next": "Next",
  "Section": "Section",
  "Traditional (multi-page)": "Traditional (multi-page)",
  "Page {{current}} of {{total}}": "Page {{current}} of {{total}}",
  "Back button label": "Back button label",
  "Next button label": "Next button label",
  "Submit button label": "Submit button label",
  "Answered": "Answered",
  "Response submitted": "Response submitted",
  "Answer the questions above to continue": "Answer the questions above to continue",
  "Thank you for participating in the survey. You will now be redirected.": "Thank you for participating in the survey. You will now be redirected.",
  "AI Interview": "AI Interview",
  "AI Audio Interview": "AI Audio Interview",
  "coming soon": "coming soon",
  "time": {
    "lessThanAnHour": "less than an hour",
    "days_one": "{{count}} day",
    "days_other": "{{count}} days",
    "hours_one": "{{count}} hour",
    "hours_other": "{{count}} hours",
    "days": "Days",
    "hours": "Hours"
  },
  "structuralAudit": {
    "title": "Structural Analysis",
    "description": "Analyze the correlation structure and dimensionality of survey responses",
    "pve1": "Dominant-Axis Concentration (PVE₁)",
    "pve1Description": "Share of variance explained by the first principal component. Higher values indicate a more one-dimensional belief structure.",
    "effectiveDependence": "Effective Dependence (Dₑ)",
    "effectiveDependenceDescription": "Global measure of linear dependence among all items. Higher values indicate stronger interdependence.",
    "overConstraintWarning": "These synthetic responses appear over-constrained. The belief structure is more one-dimensional than typical human survey data.",
    "overConstraintSuggestion": "Consider using multi-model ensemble runs or adding cross-cutting personas to improve realism.",
    "screePlot": "Scree Plot",
    "correlationHeatmap": "Correlation Heatmap",
    "saturnPlot": "Saturn Plot",
    "rayleighHeatmap": "Missing Structure (Rayleigh Ratios)",
    "humanVsSynthetic": "Human vs. Synthetic Comparison",
    "multiModelComparison": "Multi-Model Comparison",
    "responseTypeAll": "All Responses",
    "responseTypeHuman": "Human Only",
    "responseTypeSynthetic": "Synthetic Only",
    "noOrdinalQuestions": "At least 3 ordinal/numeric questions are required for structural analysis.",
    "insufficientResponses": "At least 5 completed responses are required for meaningful structural analysis.",
    "bootstrapCI": "95% Bootstrap CI",
    "personaMediation": "Persona Mediation",
    "mediationRatio": "Mediation Ratio",
    "mediationDescription": "How much of the belief structure is explained by demographic persona traits. Higher = more demographically determined.",
    "benchmarkSurvey": "Benchmark Survey",
    "importGSS": "Import GSS 52-Item Battery",
    "crossCuttingPersonas": "Cross-Cutting Personas",
    "noiseLevel": "Demographic Noise",
    "noiseLevelNone": "None",
    "noiseLevelLow": "Low (omit 1 field)",
    "noiseLevelMedium": "Medium (omit 2 + cross-cutting notes)",
    "noiseLevelHigh": "High (omit 3 + cross-cutting notes)",
    "correlationMethod": "Correlation Method",
    "polychoric": "Polychoric (recommended)",
    "pearson": "Pearson",
    "spearman": "Spearman",
    "realismScore": "Realism Score",
    "constraintLevel": "Constraint Level",
    "dimensions": "Dimensions",
    "correlationComparison": "Correlation Comparison",
    "beliefDimensions": "Belief Dimensions",
    "modelComparison": "Model Comparison",
    "whereBeliefsDiv": "Where Beliefs Diverge",
    "chooseBenchmark": "Choose a benchmark to compare against",
    "gssBenchmark": "GSS 2024",
    "humanResponses": "Your Human Responses",
    "uploadCustom": "Upload Custom CSV",
    "viewAudit": "View Audit",
    "auditHeading": "Synthetic Data Audit",
    "auditDescription": "How realistic are your synthetic responses? Compare belief structures against human benchmarks.",
    "humanLabel": "Human",
    "syntheticLabel": "Synthetic",
    "delta": "Delta",
    "respondents": "Respondents",
    "correlationQuantilesLabel": "Correlation Quantiles",
    "overlayScreePlot": "Overlay Scree Plot",
    "moreConstrained": "more constrained",
    "lessConstrained": "less constrained",
    "comparisonUnavailable": "Both human and synthetic responses are required for comparison. Ensure both response types have sufficient data.",
    "comparisonLoading": "Loading comparison data...",
    "multiModelComparisonDescription": "Compare structural audit results across different LLMs to identify which model best matches human data structure.",
    "multiModelLoading": "Loading multi-model comparison data...",
    "multiModelNoData": "No multi-model data available. Run synthetic respondent sessions with multiple models to enable comparison.",
    "multiModelNoHumanBenchmark": "No human benchmark available. Human responses are needed to compute realism scores.",
    "modelName": "Model",
    "provider": "Provider",
    "pve1Short": "PVE₁",
    "deShort": "Dₑ",
    "realismRanking": "Realism Ranking",
    "bestModelSummary": "{{modelName}} best matches human data structure with a realism score of {{score}}.",
    "humanBenchmarkLabel": "Human Benchmark",
    "distanceFromHuman": "Distance from Human PVE₁",
    "close": "Close",
    "moderate": "Moderate",
    "far": "Far"
  },
  "focusGroup": {
    "tab": "Focus Groups",
    "heading": "Synthetic Focus Groups",
    "description": "Run moderated group discussions between AI personas to explore topics in depth.",
    "newFocusGroup": "New Focus Group",
    "noFocusGroups": "No focus groups yet. Create one to start a moderated discussion between your personas.",
    "needMorePersonas": "You need at least 2 personas to start a focus group. Create more personas in the Personas tab.",
    "createTitle": "Create Focus Group",
    "createDescription": "Select personas, define discussion topics, and configure the session.",
    "selectParticipants": "Select {{min}}-{{max}} participants",
    "selectedCount": "{{count}} selected",
    "noPersonasAvailable": "No personas available. Create personas in the Personas tab first.",
    "unnamedPersona": "Unnamed Persona",
    "discussionGuide": "Discussion Guide",
    "topicN": "Topic {{n}}",
    "topicTitlePlaceholder": "Topic title (e.g., Brand Perception)",
    "topicQuestionPlaceholder": "Main question for this topic...",
    "probes": "Follow-up probes (optional)",
    "probePlaceholder": "Follow-up probe...",
    "addProbe": "Add probe",
    "addTopic": "Add topic",
    "remove": "Remove",
    "roundLimit": "Rounds per topic:",
    "model": "AI Model",
    "moderatorStyle": "Moderator Style",
    "style_neutral": "Neutral",
    "style_challenging": "Challenging",
    "style_empathetic": "Empathetic",
    "groupDynamics": "Group Dynamics",
    "dynamics_natural": "Natural",
    "dynamics_debate": "Debate",
    "dynamics_consensus": "Consensus",
    "maxRounds": "Max total rounds",
    "maxRoundsHint": "across all topics (5-50)",
    "createSummary": "{{participants}} participants, {{topics}} discussion topics",
    "startFocusGroup": "Start Focus Group",
    "cancel": "Cancel",
    "next": "Next",
    "back": "Back",
    "view": "View",
    "statusPending": "Pending",
    "statusRunning": "Running",
    "statusCompleted": "Completed",
    "statusFailed": "Failed",
    "statusInterrupted": "Stopped",
    "topicCount": "{{count}} topics",
    "participantCount": "{{count}} participants",
    "turnCount": "{{count}} turns",
    "hasSummary": "Summary available",
    "moderator": "Moderator",
    "waitingForTranscript": "Waiting for discussion to begin...",
    "emptyTranscript": "No transcript available.",
    "discussionInProgress": "Discussion in progress...",
    "stopDiscussion": "Stop Discussion",
    "summary": "Summary",
    "transcript": "Transcript",
    "themes": "Key Themes",
    "agreements": "Points of Agreement",
    "disagreements": "Points of Disagreement",
    "notableQuotes": "Notable Quotes",
    "perParticipant": "Per Participant",
    "selectAll": "Select All",
    "deselectAll": "Deselect All",
    "selectFirst": "Select First {{count}}",
    "loading": "Loading",
    "searchPlaceholder": "Search by name or participant",
    "loadMore": "Load more",
    "untitledFocusGroup": "Untitled focus group",
    "nameLabel": "Name",
    "namePlaceholder": "e.g. Onboarding pain points, round 1",
    "costEstimate": "Estimated cost: {{credits}} across about {{calls}} model calls",
    "costEstimateFree": "Free model — no credits will be used",
    "byTopic": "By topic",
    "viewInTranscript": "View in transcript",
    "stimulus": "What the group sees (optional)",
    "stimulusHint": "Paste the concept, product copy, or scenario you want reactions to. Every participant is shown this before the discussion.",
    "stimulusTitlePlaceholder": "Name it, e.g. Concept A — pay monthly",
    "stimulusContentPlaceholder": "Paste the concept description, positioning statement, or scenario here...",
    "stimulusShown": "Shown to the group",
    "exportReport": "Export report",
    "exportCsv": "Export CSV",
    "researchQuestion": "What do you want to find out?",
    "researchQuestionPlaceholder": "e.g. Why do people cancel after the free trial?",
    "draftGuide": "Draft the guide",
    "drafting": "Drafting...",
    "draftGuideHint": "Writes topics and probes you can edit. Uses a small number of credits.",
    "draftGuideFailed": "The guide could not be drafted. Try again, or write the topics yourself below.",
    "breadcrumbHome": "Home",
    "pageDescription": "Run moderated discussions with the AI personas in your library.",
    "loadingPersonas": "Loading personas...",
    "personasLoadFailed": "Your personas could not be loaded. Refresh to try again.",
    "emptyStatePrefix": "Add personas in",
    "emptyStateLink": "AI Personas",
    "emptyStateSuffix": "to start running focus groups.",
    "groundedCount": "{{count}} grounded in real answers",
    "groundedTooltip": "Digital twin — conditioned on {{count}} of this person's real answers",
    "groundedBadge": "Real answers",
    "briefTitle": "What should the group discuss?",
    "briefHint": "We will draft a discussion guide and pick a starting group of participants. You can change both before the session runs.",
    "briefStarter1": "How parents decide which after-school activities are worth the money",
    "briefStarter2": "What people think of a subscription box for home cooking",
    "briefStarter3": "How small business owners feel about switching accounting software",
    "briefSkip": "Skip and write the guide myself",
    "briefStarter1Label": "After-school spending",
    "briefStarter2Label": "Meal-kit subscription",
    "briefStarter3Label": "Switching accounting software",
    "setup": {
      "language": "Discussion language",
      "languageHelp": "The moderator and AI participants talk in this language.",
      "steps": {
        "brief": "Brief",
        "topics": "Guide",
        "personas": "People",
        "config": "Review"
      },
      "reviseGuide": "Revise with AI",
      "advancedSettings": "Session settings",
      "audienceLabel": "Who do you want to hear from?",
      "audiencePlaceholder": "e.g. Busy parents who plan meals for their family",
      "audienceHelp": "We'll create 3 AI participants with different perspectives for you to review. No real people are contacted.",
      "createParticipants": "Create AI participants",
      "creatingParticipants": "Creating participant {{count}} of 3…",
      "participantsFailed": "We could not finish creating the group. Your guide and any participants already created are saved here. Try again to finish.",
      "newGroupTitle": "Your AI group",
      "starting": "Starting…",
      "startFailed": "The focus group could not start. Your setup is still here. Check the error and try again."
    },
    "createSubtitle": "Describe the discussion. We draft the guide and a starting group; you review both before it runs."
  },
  "aiImageGeneration": {
    "title": "AI Image Generation",
    "description": "Ask AI to generate images based on text prompts",
    "placeholder": "Describe the image you want to generate...",
    "generating": "Generating image...",
    "refining": "Refining image...",
    "send": "Generate",
    "emptyStateTitle": "AI Image Generation",
    "emptyStateDescription": "Describe what you'd like to see and AI will generate an image for you.",
    "enableImageGen": "Enable image generation",
    "imageGenSettings": "Image Generation Settings",
    "model": "Model",
    "size": "Size",
    "quality": "Quality",
    "addReferenceImage": "Add Reference Image",
    "aspectRatio": {
      "auto": "Auto",
      "label": "Label",
      "landscape": "Landscape",
      "portrait": "Portrait",
      "square": "Square"
    },
    "chooseCreationMode": "Choose Creation Mode",
    "chooseReference": "Choose Reference",
    "confirmAsAnswer": "Confirm As Answer",
    "creationMode": {
      "fromDescription": "From Description",
      "fromReference": "From Reference",
      "fromZero": "From Zero"
    },
    "creationModes": "Creation Modes",
    "displayMode": {
      "inline": "Inline",
      "label": "Label",
      "modal": "Modal",
      "sidePanel": "Side Panel"
    },
    "emptyTitle": "Empty Title",
    "imageGenSection": "Image Gen Section",
    "maxGenerations": "Max Generations",
    "promptGuidance": "Prompt Guidance",
    "referenceImages": "Reference Images",
    "referenceImagesAvailable": "Reference Images Available",
    "showTriggerMessage": "Show Trigger Message",
    "skipReference": "Skip Reference",
    "triggerCondition": "Trigger Condition",
    "triggerMode": {
      "aiTriggered": "Ai Triggered",
      "both": "Both",
      "label": "Label",
      "userTriggered": "User Triggered"
    },
    "useReference": "Use Reference",
    "usingAsReference": "Using As Reference"
  },
  "conceptEngine": {
    "loading": {
      "brief": "Brief",
      "explore": "Explore",
      "converge": "Converge",
      "final": "Final",
      "label": "Label",
      "creatingSuffix": "Creating {{label}}…",
      "conceptTest": "Concept Test"
    },
    "linkedTo": "Linked to",
    "referenceQuestions": "Profiling references",
    "referenceCount": "{{count}} selected",
    "referencePickerEmpty": "Pick questions...",
    "referencePickerTitle": "Reference Profiling Questions",
    "referenceSearch": "Search questions...",
    "referenceTotalSelected": "{{count}} total selected",
    "referenceNoneSelected": "None selected",
    "referenceSelectAll": "Toggle all visible",
    "referenceEmpty": "No questions to reference",
    "referenceAlwaysIncluded": "Always",
    "referenceDone": "Done",
    "noReferences": "No profiling questions referenced",
    "prolific": {
      "title": "Prolific Study"
    },
    "prolificComingSoon": "Per-phase Prolific studies coming soon",
    "explore": {
      "phaseLabel": "Explore Phase",
      "pairsToShow": "Concept pairs per respondent",
      "pairsHelp": "pairs shown to each respondent",
      "routingMode": "Routing mode",
      "routingTest": "Test (all phases sequentially)",
      "routingProd": "Production (respondents routed by number)",
      "routingLink": "Per link (each share link maps to a phase)",
      "aiConfigTitle": "Explore AI and generation settings",
      "aiModel": "AI model (concept generation LLM)",
      "aiModelSummary": "AI model",
      "flowCardAction": "Tune AI & flow",
      "flowCardTitle": "Explore flow",
      "imageModel": "Lo-fi image generation model",
      "imageModelSummary": "Lo-fi image",
      "maxResp": "Max respondents",
      "openEnded": "Open-ended follow-up",
      "routingLinkShort": "Per-link",
      "routingProdShort": "Production",
      "routingTestShort": "Sequential"
    },
    "converge": {
      "phaseLabel": "Converge Phase",
      "conceptsToRank": "Concepts shown for ranking",
      "conversationTurns": "AI conversation turns after ranking",
      "discussionTopics": "Discussion topics",
      "topicPlaceholder": "Add a discussion topic...",
      "videoEnabled": "Enable video in conversation",
      "aiModel": "AI model (ranking discussion LLM)",
      "aiModelSummary": "AI model",
      "customProbes": "Custom follow-up probes",
      "customProbesShort": "{{count}} probes",
      "flowCardAction": "Tune AI & prompts",
      "flowCardTitle": "Converge flow",
      "flowConfigTitle": "Converge AI and prompt settings",
      "maxResp": "Max respondents in this stage",
      "mode": "Conversation mode",
      "modeAudioShort": "Audio",
      "modeTextShort": "Text",
      "modeVideoShort": "Audio + video",
      "topicCountShort": "{{count}} topics",
      "topicEmpty": "No topics"
    },
    "final": {
      "phaseLabel": "Final Phase",
      "ratingScales": "MRX rating scales",
      "customScalePlaceholder": "Add a custom scale...",
      "videoInterview": "AI video interview",
      "aiCardAction": "Tune AI",
      "aiCardTitle": "AI & winner rendering",
      "aiConfigTitle": "Final AI and render settings",
      "aiModel": "AI model (video interview LLM)",
      "competitor": "Competitor name (for comparison prompts)",
      "competitorEmptyShort": "No competitor set",
      "configTitle": "Final validation setup",
      "contextConfigTitle": "Final context and integrations",
      "highlightReel": "Generate highlight reel",
      "imageModel": "Hi-fi image generation model",
      "interviewEmpty": "No interview questions added yet.",
      "interviewQuestions": "AI interview questions",
      "maxResp": "Max respondents in this stage",
      "maxRespShort": "max",
      "pointScaleShort": "{{count}}-pt",
      "questionsShort": "questions",
      "reelDisabledShort": "Reel off",
      "reelEnabledShort": "Reel on",
      "scalesShort": "scales",
      "summaryFallback": "Set the final scoring frame before sending winners into validation.",
      "validationCardAction": "Edit rubric",
      "validationCardTitle": "Final validation",
      "validationConfigTitle": "Interview flow",
      "videoDisabledShort": "Video off",
      "videoEnabledShort": "Video on"
    },
    "label": {
      "phaseLabel": "Pairwise Comparison",
      "uploadImages": "Upload images",
      "importFromUrl": "Import from URL",
      "importFromDrive": "Import from Google Drive",
      "evaluationMode": "Evaluation mode",
      "aiModel": "AI model",
      "aiModelSummary": "AI model",
      "algorithmAndAiTitle": "Algorithm & AI assistant",
      "algorithmTitle": "Ranking algorithm",
      "algorithmDescription": "Choose how respondent comparisons are converted into a single per-variant score. Plackett-Luce only applies to ranking mode.",
      "aiAssistantAutoDescription": "Shown because this concept includes a text AI follow-up. Pick the model that should answer it.",
      "allowGoBack": "Allow respondents to go back to a previous decision",
      "assetLibraryAction": "Import from URL or Drive",
      "assetLibraryTitle": "Asset library",
      "assetLibraryDescription": "Keep the common upload path inline and move lower-frequency imports into one modal.",
      "batteryTitle": "Battery questions",
      "driveImportedCount": "Imported {{count}} from Drive",
      "driveImportError": "Drive import failed.",
      "driveImportTitle": "Import from Google Drive",
      "driveImportDescription": "Connect a Drive account, paste a folder ID, preview thumbnails, then import every image as a concept variant.",
      "driveSummary": "{{count}} synced assets",
      "emptyTitle": "No concept images yet",
      "emptyBody": "Upload files here or open the import modal for URL and Drive sources.",
      "evaluationAction": "Configure evaluation",
      "evaluationModalTitle": "Evaluation context",
      "evaluationModalDescription": "Tune the interviewer and supporting context used when respondents compare uploaded concepts.",
      "evaluationTitle": "Evaluation mode",
      "githubImportTitle": "Import from GitHub",
      "githubImportDescription": "Pull images committed to a connected GitHub repository folder.",
      "githubSummary": "{{count}} repo assets",
      "importDrive": "Import from Drive",
      "importModalTitle": "Import concept images",
      "importModalDescription": "Bring in additional concept images without crowding the main builder pane.",
      "importUrls": "Import from URLs",
      "libraryHeadline": "{{count}} assets imported",
      "librarySummary": "Open the library to review thumbnails or remove any image.",
      "maxGoBack": "Maximum back steps",
      "mode": {
        "ranking": "Ranking",
        "rating": "Monadic",
        "monadic_battery": "Monadic battery",
        "duo_battery": "Duo battery",
        "koh": "KOH (King of the Hill)",
        "set_vs_set": "Set vs set"
      },
      "modeLabel": "Mode",
      "openLibrary": "Open library",
      "pendingBadge": "Pending",
      "pendingCount": "{{count}} pending",
      "pickReferences": "Pick references",
      "publishWarning": "Need at least 2 images before this question is ready for respondents.",
      "referenceDescription": "Choose earlier survey questions that should feed context into this stage. Uses the same picker as AI Interview.",
      "respondentControlsTitle": "Respondent controls",
      "showHistoryAtEnd": "Show a final review of all choices before completing",
      "sourceDrive": "Drive",
      "sourceGithub": "GitHub",
      "sourceUploads": "Uploads",
      "sourceUrls": "URLs",
      "syncReady": "Saved test ready",
      "thirdOptionEnabled": "Show a third \"Skip / Neither\" option below the pair",
      "thirdOptionLabel": "Label",
      "thirdOptionVariant": "Style",
      "thirdOptionButton": "Button",
      "thirdOptionText": "Text link",
      "title": "Pairwise Comparison",
      "subtitle": "Compare images to surface respondent preferences.",
      "unlimitedGoBack": "Unlimited",
      "uploadCta": "Click to upload images",
      "uploadedCount": "Uploaded {{count}} images.",
      "uploadError": "Image upload failed.",
      "uploadHint": "PNG, JPG, and WebP up to 20MB each",
      "uploadSummary": "{{count}} local files",
      "urlImportedCount": "Imported {{count}} from URLs",
      "urlImportError": "URL import failed.",
      "urlImportTitle": "Import from URLs",
      "urlImportDescription": "Paste one HTTPS image URL per line. We HEAD-check each and reject anything that is not an image.",
      "urlSummary": "{{count}} external images",
      "variantCount": "{{count}} images",
      "variantLoadError": "Saved variants could not be refreshed right now.",
      "algorithm": "Ranking algorithm",
      "algorithmUnavailable": "unavailable in {{mode}} mode",
      "importing": "Importing…",
      "libraryEmpty": "No images yet. Use the import options on the build tab to add some.",
      "libraryModalDescription": "Imported concept images. Remove anything that no longer belongs.",
      "libraryModalTitle": "Asset library",
      "libraryRemove": "Remove image",
      "moreWarnings": "+ {{count}} more",
      "urlAcceptedCount": "{{count}} ready",
      "urlInvalidLines": "{{count}} line(s) skipped (must be HTTPS URLs)."
    },
    "imageModel": {
      "loFi": "Lo-fi image model",
      "hiFi": "Hi-fi image model",
      "bestFor": "Best for"
    },
    "errors": {
      "itemLockedToSection": "Concept items cannot leave their section.",
      "cannotDeleteIndividually": "Concept items can only be removed by deleting the section."
    },
    "brief": {
      "aiDecides": "AI decides"
    },
    "completionCodeMissing": "Completion code pending",
    "completionCodeSet": "Completion code set",
    "drive": {
      "connect": "Connect",
      "connected": "Connected",
      "imported": "Imported",
      "importing": "Importing…",
      "noConceptTest": "Save the survey first to enable Drive import.",
      "noConceptTestShort": "Save survey to import",
      "pickFolder": "Pick folder",
      "readyShort": "Ready",
      "title": "Google Drive",
      "connectedAs": "Connected · {{email}}",
      "folderLabel": "Folder ID",
      "help": "Import images from a Google Drive folder. Connect Drive in Settings → Integrations first, then paste the folder ID (the part after /folders/ in the Drive URL).",
      "import": "Import to concept test",
      "moreImages": "+ {{count}} more",
      "needFolder": "Paste a Drive folder ID or preview images before importing.",
      "openSettings": "Open Settings",
      "preview": "Preview images",
      "recheck": "Recheck connection",
      "scanning": "Scanning…"
    },
    "profiling": {
      "addOption": "Add option",
      "addQuestion": "Add profiling question",
      "count": "{{count}} questions",
      "title": "Psychographic profiling questions",
      "useDefaults": "Smart defaults",
      "help": "2-3 quick questions asked before the elicitation stage. These capture brand affinity, aesthetic style, or other taste signals. Used to discover audience segments. Leave empty to use smart defaults based on concept type.",
      "questionPlaceholder": "e.g. Which of these brands do you most identify with?"
    },
    "prolificCompletionCode": "Completion code",
    "prolificConnected": "Connected",
    "prolificDisconnect": "Disconnect",
    "prolificPhaseUrl": "Phase entry URL",
    "prolificSetup": "Set up",
    "prolificStudyId": "Prolific study ID",
    "report": {
      "clips": "clips",
      "confidence": "confidence",
      "deliverableTitle": "Data-backed creative brief",
      "highlightReel": "Highlight reel",
      "loading": "Loading insights...",
      "noData": "No report data yet.",
      "noWinners": "No winning concepts yet for this segment.",
      "respondents": "respondents",
      "rounds": "rounds",
      "trajectory": "Evolutionary trajectory",
      "unifiedAudience": "Unified audience",
      "variants": "variants",
      "watchClip": "Watch clip"
    },
    "sections": {
      "aiAssistant": "AI assistant",
      "brief": "Brief",
      "configureContext": "Configure context",
      "contextAndIntegrations": "Context and integrations",
      "defaultImageModel": "Default image model",
      "defaultModel": "Default AI",
      "referenceQuestions": "Reference questions",
      "routingAndAi": "Routing and AI"
    },
    "thinkingMode": {
      "fast": "Fast responses",
      "fastOption": "Fast responses",
      "label": "Thinking mode",
      "slow": "Deeper reasoning",
      "slowOption": "Deeper reasoning"
    },
    "battery": {
      "addCta": "Add question",
      "appliesToImage": "Per image",
      "appliesToPair": "Per pair",
      "config": {
        "addOption": "Add option",
        "max": "Max",
        "maxLabel": "Max label",
        "midLabel": "Mid label",
        "min": "Min",
        "minLabel": "Min label",
        "options": "Options",
        "step": "Step"
      },
      "defaultPrompt": "New question",
      "description": "These questions are asked alongside each image (or pair). At least one is required for this evaluation mode.",
      "dragHandle": "Reorder question",
      "empty": "Add at least one question. This is what respondents answer alongside each image.",
      "emptyTitle": "No battery questions yet",
      "firstCta": "Add your first question",
      "loading": "Loading questions…",
      "promptPlaceholder": "What do you want to ask about this image?",
      "remove": "Remove question",
      "required": "Required",
      "title": "Battery questions",
      "types": {
        "left_right_numeric": "Number per side",
        "long_text": "Long text",
        "multi_choice": "Multi choice",
        "numeric": "Number",
        "opinion_scale": "Opinion scale",
        "pick_side": "Pick a side",
        "short_text": "Short text",
        "single_choice": "Single choice",
        "slider": "Slider"
      }
    },
    "github": {
      "connect": "Connect in Settings",
      "connected": "Connected",
      "folderLabel": "Folder path (optional)",
      "help": "Import images committed to a repository folder. Connect a GitHub PAT in Settings → Integrations first.",
      "import": "Import to concept test",
      "imported": "Imported {{count}} images.",
      "importing": "Importing…",
      "loading": "Loading…",
      "loadRepos": "Load repos",
      "moreImages": "+ {{count}} more",
      "preview": "Preview images",
      "recheck": "Recheck connection",
      "repoChoose": "Choose a repo…",
      "repoLabel": "Repository",
      "repoListEmpty": "Load repos to begin",
      "scanning": "Scanning…",
      "title": "GitHub repository",
      "tooMany": "{{count}} images exceeds the import cap of 1000. Point the folder path at a smaller subfolder and preview again."
    },
    "prolificPhaseUrlHelp": "Use this URL in your Prolific study to route respondents directly into this phase.",
    "referencePickerDescription": "Choose earlier questions that should feed context into this concept stage."
  },
  "Tap to start": "Tap to start",
  "Tap on areas of the image": "Tap on areas of the image",
  "Tap to record": "Tap to record",
  "Tap to record video": "Tap to record video",
  "Sending...": "Sending...",
  "Audio response": "Audio response",
  "Skip Question": "Skip Question",
  "Drag and drop to rearrange the order": "Drag and drop to rearrange the order",
  "Session Complete": "Session Complete",
  "You may close this window.": "You may close this window.",
  "Ready to Begin": "Ready to Begin",
  "You will answer questions by voice": "You will answer questions by voice",
  "The AI interviewer will guide you through each topic": "The AI interviewer will guide you through each topic",
  "Take your time with each answer": "Take your time with each answer",
  "Start Voice Interview": "Start Voice Interview",
  "Voice Interview": "Voice Interview",
  "Assessment notice": "Assessment notice",
  "Your audio responses may be recorded and transcribed.": "Your audio responses may be recorded and transcribed.",
  "An AI system may generate draft feedback and draft scores.": "An AI system may generate draft feedback and draft scores.",
  "Full Name": "Full Name",
  "Student ID": "Student ID",
  "Email (optional)": "Email (optional)",
  "Enter your full name": "Enter your full name",
  "Enter your student ID": "Enter your student ID",
  "Enter your email": "Enter your email",
  "Starting...": "Starting...",
  "Begin Session": "Begin Session",
  "Loading brief context...": "Loading brief context...",
  "Loading the next step...": "Loading the next step...",
  "Before we begin": "Before we begin",
  "Tell us about you": "Tell us about you",
  "Which concept do you prefer?": "Which concept do you prefer?",
  "What drew you to this one? (optional)": "What drew you to this one? (optional)",
  "Loading concepts...": "Loading concepts...",
  "No converged winners to rate.": "No converged winners to rate.",
  "Concept Test": "Concept Test",
  "Publish the survey to generate concepts.": "Publish the survey to generate concepts.",
  "analysis": {
    "empty": "No analysis yet",
    "emptyDescription": "Analysis will appear here once respondents have answered."
  },
  "card_sorting": {
    "all_sorted": "All cards sorted!",
    "all_sorted_hint": "Click any card below to move it back",
    "card_plural": "cards",
    "card_singular": "card",
    "categories": "Categories",
    "empty_category": "No cards yet",
    "empty_state": "No cards have been configured for this question. The survey creator needs to add cards to sort.",
    "instruction": "Click a card, then click a category to sort it",
    "progress": "{{sorted}} of {{total}} cards sorted",
    "select_category": "— now click a category below",
    "unsorted": "Unsorted cards"
  },
  "concepts": {
    "empty": "No concepts yet",
    "emptyDescription": "Concepts will appear here once they're generated."
  },
  "conjoint_analysis": {
    "instruction": "Choose the profile you prefer.",
    "next": "Next",
    "none_of_these": "None of these",
    "previous": "Previous",
    "profile": "Profile {{letter}}",
    "task_progress": "Task {{current}} of {{total}}"
  },
  "file_upload": {
    "drop_or_click": "Drop files here or click to browse",
    "file_too_large": "{{name}} exceeds the {{max}}MB limit",
    "invalid_type": "{{name}} is not an allowed file type",
    "max_size": "Max {{size}}MB per file, up to {{max}} files",
    "too_many_files": "Maximum {{max}} files allowed",
    "upload_error": "Failed to upload files. Please try again.",
    "uploading_progress": "Uploading {{current}} of {{total}}..."
  },
  "photoResponse": {
    "takePhoto": "Take photo",
    "uploadPhoto": "Upload photo",
    "addAnother": "Add another",
    "remove": "Remove photo",
    "invalidType": "Only image files are allowed",
    "tooMany": "You can add up to {{max}} photos",
    "uploadError": "Failed to upload photos. Please try again.",
    "uploadingProgress": "Uploading {{current}} of {{total}}...",
    "captureMode": "Capture mode",
    "captureModeAny": "Camera or library",
    "captureModeCameraOnly": "Camera only",
    "maxPhotos": "Max photos",
    "reportEmpty": "No photos submitted yet",
    "reportSummary": "{{respondents}} respondents submitted {{count}} photos"
  },
  "pipingTab": {
    "cancel": "Cancel",
    "delete": "Delete",
    "edit": "Edit",
    "editPipe": "Edit pipe",
    "description": "URL parameter pipes route respondents into this survey with preset values (source, audience, language, etc.).",
    "embeddedDataTitle": "Embedded data",
    "embeddedDataDescription": "Store URL values or randomized A/B assignments for piping, exports, and display logic.",
    "empty": "No pipes yet",
    "fieldDefault": "Default value",
    "fieldKey": "Key",
    "fieldLabel": "Label",
    "fieldSource": "Value source",
    "fieldType": "Type",
    "fieldValues": "Values",
    "newEmbeddedData": "New field",
    "newPipe": "New pipe",
    "noEmbeddedData": "No embedded-data fields yet.",
    "openLink": "Open link",
    "randomSource": "Random",
    "saveField": "Save field",
    "sourceRandom": "Random assignment",
    "sourceUrl": "Survey URL",
    "title": "Piping",
    "typeEnum": "Enum",
    "typeNumber": "Number",
    "typeText": "Text",
    "urlSource": "URL",
    "weightNeverAssigned": "A value with weight 0 is never assigned.",
    "copyPreviewLink": "Copy preview link",
    "addValue": "Add value",
    "valuePlaceholder": "Value",
    "fieldWeight": "Weight",
    "removeValue": "Remove value",
    "duplicateValue": "Values must be unique.",
    "systemFields": "System fields",
    "systemFieldsDescription": "Captured automatically for every respondent and stored with their response — no setup needed.",
    "systemFieldAuto": "Auto",
    "fieldValue": "Value",
    "fieldShare": "Share"
  },
  "signature": {
    "clear": "Clear",
    "draw_here": "Draw your signature here",
    "helper_desktop": "Use your mouse to sign",
    "helper_mobile": "Use your finger to sign",
    "upload_error": "Failed to upload signature. Please try again."
  },
  "surveyLanguages": {
    "languageOptions": "Language Options"
  },
  "testWithAI": {
    "audienceHint": "Will use {{count}} respondents from this audience",
    "autoGenerate": "Auto-generate diverse personas",
    "custom": "Custom",
    "customTargeting": "Custom targeting",
    "fromAudience": "From audience",
    "howMany": "Number of respondents",
    "respondents": "Respondents",
    "selectAudience": "Select an audience...",
    "source": "Respondent source",
    "targetingPlaceholder": "Describe your target respondents, e.g.",
    "title": "Test with AI"
  },
  "Change email": "Change email",
  "Change number": "Change number",
  "Enter the 6-digit code sent to": "Enter the 6-digit code sent to",
  "Enter your answer here": "Enter your answer here",
  "How are you feeling today?": "How are you feeling today?",
  "Recording saved": "Recording saved",
  "This question is required": "This question is required",
  "Try Again": "Try Again",
  "Verified": "Verified",
  "Verify with Google": "Verify with Google",
  "Verify with LinkedIn": "Verify with LinkedIn",
  "Verifying…": "Verifying…",
  "Your answer": "Your answer",
  "packagingLibrary": {
    "title": "Design",
    "description": "Pick a pack style and size, then design it in the editor. Every dieline is generated to spec and ready to print.",
    "searchPlaceholder": "Search by name, code or size",
    "categoriesAria": "Dieline categories",
    "categories": {
      "all": "All",
      "shipping": "Shipping boxes",
      "mailer": "Mailer boxes",
      "pizza": "Pizza boxes",
      "cans": "Cans"
    },
    "formats": {
      "ai": "Adobe Illustrator dieline",
      "pdf": "Print-ready PDF",
      "dxf": "DXF dieline for cutting"
    },
    "count_one": "{{count}} dieline",
    "count_other": "{{count}} dielines",
    "countLoading": "Loading dielines",
    "card": {
      "blank": "blank",
      "regionBr": "Brazilian standard size",
      "printable": "Printable",
      "downloadable": "Downloadable"
    },
    "empty": {
      "title": "No dielines yet",
      "description": "The packaging catalog has not been loaded. Check back soon.",
      "filteredTitle": "No dielines match",
      "filteredDescription": "Try a different search or category.",
      "clear": "Clear filters"
    },
    "error": {
      "title": "The dieline library failed to load",
      "retry": "Retry"
    },
    "tagline": "Pick a pack style and size, then design it in the editor."
  },
  "concept": {
    "studio": {
      "vectorize": {
        "action": "Vectorize",
        "actionHint": "Convert this image to an SVG. Free, runs in your browser.",
        "free": "Free",
        "title": "Vectorize",
        "loadingSource": "Preparing image",
        "presetLogo": "Logo",
        "presetPhoto": "Photo",
        "presetSketch": "Sketch",
        "viewOriginal": "Original",
        "viewTraced": "Traced",
        "tracing": "Tracing image",
        "phaseDecode": "Reading image",
        "phaseSimplify": "Simplifying curves",
        "phaseOptimize": "Optimizing SVG",
        "originalAlt": "Original image",
        "tracedAlt": "Traced vector",
        "stats": "{{paths}} paths · {{colors}} colors · {{svgKb}} KB (original {{srcKb}} KB)",
        "overflow": "This image traced to {{paths}} shapes — too many to draw as vector art.",
        "aiHint": "This image is too complex to trace cleanly. AI can redraw it as flat vector art, then trace it here for free.",
        "aiCta": "Try AI vectorize ({{credits}} credits)",
        "aiCtaNoPrice": "Try AI vectorize",
        "apply": "Add vector to board",
        "tooLarge": "This trace is too large to save on the board. Try the Logo preset or the AI option.",
        "error": "Tracing failed. Try another preset.",
        "retry": "Retry",
        "applied": "Vector added to the board.",
        "aiDone": "AI redrew the image in flat vector style. Run Vectorize on it to get the SVG.",
        "sourceError": "Could not read the selected image. Try again."
      },
      "testDesign": "Test this design",
      "packagingDesign": "Design",
      "export": "Export",
      "collapsePanel": "Collapse panel",
      "expandPanel": "Expand panel",
      "rail": {
        "layers": "Layers"
      },
      "layers": {
        "dieline": "Dieline",
        "text": "Text",
        "image": "Image",
        "vector": "Vector",
        "shape": "Shape",
        "rectangle": "Rectangle",
        "ellipse": "Ellipse",
        "triangle": "Triangle",
        "line": "Line",
        "empty": "Add images, text, or shapes to see them here.",
        "toFront": "Bring to front",
        "forward": "Bring forward",
        "backward": "Send backward",
        "toBack": "Send to back",
        "show": "Show layer",
        "hide": "Hide layer",
        "lock": "Lock layer",
        "unlock": "Unlock layer",
        "delete": "Delete layer"
      },
      "ctxMenu": {
        "toFront": "Bring to front",
        "forward": "Bring forward",
        "backward": "Send backward",
        "toBack": "Send to back",
        "duplicate": "Duplicate",
        "lock": "Lock",
        "unlock": "Unlock",
        "delete": "Delete"
      },
      "guestAiCost": "Needs a free account",
      "uploadError": "Could not upload that image. Try again.",
      "loadMissingImage": "“{{name}}” could not be loaded and is missing from the board.",
      "loadMissingImages": "{{count}} images could not be loaded and are missing from the board: {{names}}",
      "loadTaintedImages": "Loaded {{names}} without cross-origin access, so image export is unavailable until the asset host allows this address.",
      "generateNeedsSubject": "Say what to design first — fill in Product, Brand, or the prompt.",
      "titleSaveError": "Could not save the name. Try again.",
      "dieline": {
        "artworkDpiCapped": "This blank is too large to raster at 300 dpi — the artwork went out at {{dpi}} dpi. Cut and crease lines stay vector."
      }
    },
    "breadcrumb": {
      "home": "Home",
      "conceptTests": "Concept Tests"
    },
    "home": {
      "sectionTitle": "Your concept tests & labels",
      "viewAll": "View all",
      "untitled": "Untitled",
      "kindTest": "Concept Test",
      "kindLabel": "Pairwise Comparison",
      "createTest": "+ New concept test",
      "createLabel": "+ New pairwise comparison",
      "createTestShort": "New concept test",
      "createLabelShort": "New pairwise comparison",
      "emptyTitle": "Try Concept Testing",
      "emptyDescription": "Validate logos, names, packaging, or any creative idea with real respondents. Generate variants with AI or upload your own.",
      "stats": {
        "products": "Products",
        "respondents": "Respondents",
        "active": "Active"
      },
      "banner": {
        "title": "Standalone concept test and pairwise comparison panels",
        "subtitle": "Validate ideas with AI-generated or your own variants, separate from surveys.",
        "cta": "Take a tour",
        "dismiss": "Dismiss"
      },
      "createModal": {
        "title": "Create",
        "openCta": "Create",
        "products": {
          "survey": {
            "title": "Survey",
            "description": "Ask a real or synthetic audience a set of questions."
          },
          "conceptTest": {
            "title": "Concept test",
            "description": "Compare creative variants and gather structured feedback."
          },
          "design": {
            "title": "Design",
            "description": "Generate packaging and product visuals on a canvas."
          }
        },
        "conceptTestError": "Could not create the concept test.",
        "designError": "Could not create the design.",
        "assemble": {
          "description": "Start a concept test from reference images you already have.",
          "cta": "Assemble from references"
        }
      }
    },
    "tabs": {
      "brief": "Brief",
      "variants": "Variants",
      "preview": "Preview",
      "converge": "Converge",
      "distribute": "Distribute",
      "team": "Team",
      "respondents": "Respondents",
      "report": "Report",
      "deliverables": "Deliverables",
      "battery": "Battery",
      "aiChat": "AI Chat"
    },
    "aria": {
      "conceptTestPanelTabs": "Concept test panel tabs",
      "aiChat": "AI Chat",
      "closeAiChat": "Close AI Chat",
      "gridView": "Grid view",
      "listView": "List view"
    },
    "shell": {
      "aiChatLabel": "AI Chat",
      "publishAndShare": "Publish & share",
      "loadingConceptTest": "Loading concept test...",
      "failedToLoadConceptTest": "Failed to load concept test",
      "untitledConceptTest": "Untitled concept test",
      "viewResults": "Results",
      "backToBuilder": "Build",
      "quickTestJobLabel": "Synthetic Responses",
      "quickTestJobDone": "Responses ready."
    },
    "listView": {
      "conceptTestsTitle": "Concept Tests",
      "conceptTestsDescription": "Generate and refine concept variants, then validate them with respondents.",
      "newConceptTest": "New concept test",
      "creating": "Creating…",
      "searchPlaceholder": "Search {{noun}}s",
      "status": {
        "draft": "Draft",
        "active": "Active",
        "paused": "Paused",
        "published": "Published",
        "completed": "Completed",
        "archived": "Archived"
      },
      "stage": {
        "explore": "Exploring",
        "converge": "Converging",
        "final": "Final round",
        "completed": "Completed"
      },
      "filters": {
        "all": "All",
        "draft": "Draft",
        "active": "Active",
        "paused": "Paused",
        "published": "Published",
        "archived": "Archived",
        "completed": "Completed"
      },
      "sort": {
        "label": "Sort",
        "recent": "Most recent",
        "mostResponses": "Most responses",
        "alphabetical": "Alphabetical"
      },
      "stats": {
        "total": "Total products",
        "respondents": "Respondents on recent products",
        "respondentsHint": "Updated this month",
        "active": "Active",
        "activeHint": "of {{total}}"
      },
      "kindLabel": {
        "test": "Test",
        "label": "Label"
      },
      "table": {
        "name": "Name",
        "status": "Status",
        "stage": "Stage",
        "respondents": "Respondents",
        "updated": "Updated"
      },
      "emptyState": {
        "titleTest": "No concept tests yet",
        "titleLabel": "No pairwise comparisons yet",
        "descriptionTest": "Create one to compare variants and validate them with respondents.",
        "descriptionLabel": "Create one to start evaluating uploaded images.",
        "ctaTest": "Create your first concept test",
        "ctaLabel": "Create your first pairwise comparison"
      },
      "noMatch": "No {{noun}}s match the current filters.",
      "assembleCta": "Assemble from references"
    },
    "briefTab": {
      "header": "Concept brief",
      "helper": "Voice, palette, references, mockup provider, and advanced context all edit inline. Changes auto-save.",
      "surveyBuilder": "Survey builder",
      "loading": "Loading brief…",
      "statusHeader": "Status",
      "fieldStage": "Stage",
      "fieldStatus": "Status",
      "fieldRespondents": "Respondents",
      "fieldActiveVariants": "Active variants",
      "fieldProvisioning": "Provisioning"
    },
    "aiChat": {
      "title": "Research analyst chat",
      "intro": "Ask which variant is leading, how each segment is voting, or what themes are converging in the feedback. Answers come from the live report data.",
      "clearChat": "Clear chat",
      "thinking": "Thinking…",
      "placeholder": "Ask about this concept…",
      "send": "Send",
      "errorReply": "Something went wrong reaching the AI. Try again in a moment.",
      "suggestions": {
        "leading": "Which variant is leading and by how much?",
        "segments": "How does each segment vote?",
        "themes": "What are the converging themes in the feedback?",
        "negatives": "Summarize the negatives.",
        "next": "What should I test next?"
      }
    },
    "distribute": {
      "publish": {
        "title": "Publish",
        "description": "Toggle the concept test live so respondents can submit. Unpublished tests are visible only to you.",
        "statusDraft": "Draft",
        "statusPublished": "Published",
        "statusArchived": "Archived",
        "descLive": "Live. Respondents can submit through any share link below.",
        "descArchived": "Archived. Re-publish to accept new responses.",
        "descDraft": "Draft. Respondents cannot submit until you publish.",
        "checking": "Checking whether this test is live.",
        "publishBtn": "Publish",
        "unpublishBtn": "Unpublish",
        "confirmUnpublish": "Unpublish this concept test? Respondent links will stop working.",
        "confirmPublish": "Publish this concept test? It becomes live.",
        "failedUpdate": "Failed to update publish status."
      },
      "respondentLinksTitle": "Respondent links",
      "respondentLinkTitle": "Respondent link",
      "respondentLinksDescription": "Share the live concept test. Either the full flow link or a per-stage deep link.",
      "respondentLinkDescriptionLabel": "Drop respondents into the standalone concept-label chat. Requires publish.",
      "qrCode": "QR code",
      "qrHint": "Scan to open the respondent link on a phone.",
      "publishFirst": "Publish first to enable respondent links.",
      "previewTitle": "Shareable preview",
      "previewDescription": "Let teammates preview the flow without publishing. They see the experience but cannot submit a real response.",
      "previewEnabled": "Enabled",
      "previewDisabled": "Disabled",
      "previewEnabledHint": "Anyone with the preview link can view the flow.",
      "previewDisabledHint": "Preview link disabled. Only you can open it.",
      "previewDisableBtn": "Disable sharing",
      "previewEnableBtn": "Enable preview sharing",
      "previewFailedUpdate": "Failed to update preview sharing.",
      "reportLinkTitle": "Public report link",
      "reportLinkDescription": "Mint a tokenized link teammates can use to view the report without logging in. Defaults to 30-day TTL.",
      "mintLink": "Mint share link",
      "mintAnother": "Mint another link",
      "expires": "Expires {{date}}",
      "embedTitle": "Embed snippet",
      "embedDescription": "Paste this iframe into your site to embed the concept-test flow.",
      "collaboratorsTitle": "Collaborators",
      "collaboratorsDescriptionTest": "Manage who can view or edit this concept test.",
      "collaboratorsDescriptionLabel": "Manage who can view or edit this pairwise comparison.",
      "loading": "Loading distribute…",
      "loadError": "Failed to load concept test",
      "copy": "Copy",
      "copied": "Copied",
      "open": "Open",
      "copyLabel": "Copy {{label}}",
      "openLabel": "Open {{label}}"
    },
    "common": {
      "retry": "Try again",
      "cancel": "Cancel",
      "confirm": "Continue",
      "save": "Save",
      "close": "Close",
      "copy": "Copy",
      "copied": "Copied",
      "delete": "Delete",
      "edit": "Edit",
      "more": "More actions",
      "loading": "Loading",
      "error": "Something went wrong",
      "select": "Select",
      "clearSelection": "Clear selection",
      "clearFilters": "Clear filters",
      "search": "Search",
      "saved": "Saved",
      "saving": "Saving…",
      "untitled": "Untitled",
      "open": "Open",
      "refresh": "Refresh"
    },
    "canvas": {
      "lockedToast": {
        "title": "Phase locked",
        "brand": "Finish the brand step before continuing.",
        "default": "Complete the previous steps to unlock this phase."
      },
      "skipToShip": "Skip to Ship",
      "savedChip": "Saved",
      "anchor": {
        "brief": "Brief",
        "variants": "Variants",
        "battery": "Battery",
        "converge": "Converge",
        "share": "Share"
      }
    },
    "brief": {
      "loading": "Loading brief…",
      "brand": {
        "title": "Brand",
        "description": "Anchor the variants to your brand voice and visual identity."
      },
      "conceptType": {
        "title": "Concept type",
        "ai": "AI-generated variants",
        "manual": "Upload your own"
      },
      "evalMode": {
        "title": "Evaluation mode",
        "description": "How respondents compare the concepts."
      },
      "style": {
        "title": "Style",
        "summary": "{{count}} attributes set",
        "savedPulse": "Saved"
      },
      "profilingLink": {
        "label_one": "{{count}} profiling question",
        "label_other": "{{count}} profiling questions"
      }
    },
    "variants": {
      "title": "Variants",
      "search": "Search variants…",
      "generate": "Generate more",
      "generating": "Starting…",
      "rounds": "Round",
      "tiers": "Tier",
      "all": "All",
      "count_one": "{{count}} variant",
      "count_other": "{{count}} variants",
      "noMatches": "No variants match the current filters.",
      "score": {
        "label": "Score ≥ {{value}}",
        "valuetext": "{{value}} of 100",
        "ariaLabel": "Filter by minimum quality score"
      },
      "bulk": {
        "selectedCount_one": "{{count}} selected",
        "selectedCount_other": "{{count}} selected",
        "markHifi": "Upgrade to high detail",
        "composite": "Composite mockups",
        "delete": "Delete",
        "confirmDelete": {
          "title": "Delete selected variants?",
          "body": "Removes {{count}} variant(s) and their attached feedback. This cannot be undone."
        },
        "toast": {
          "success_one": "{{count}} variant deleted",
          "success_other": "{{count}} variants deleted",
          "partial": "{{ok}} of {{total}} deleted",
          "failed": "Bulk action failed"
        },
        "hifi": {
          "success_one": "{{count}} concept re-rendered at high detail",
          "success_other": "{{count}} concepts re-rendered at high detail",
          "partial": "{{ok}} of {{total}} re-rendered at high detail",
          "none": "Nothing to upgrade — those concepts are already at high detail.",
          "failed": "Could not upgrade the selected concepts."
        },
        "clearSelection": "Clear selection",
        "compare": "Compare",
        "regionLabel": "Bulk variant actions"
      },
      "compositingStarted": "Compositing started",
      "noPreview": "No image",
      "tierUploaded": "Uploaded",
      "tierHiFi": "High detail",
      "tierDraft": "Draft"
    },
    "battery": {
      "title": "Battery",
      "addQuestion": "Add question",
      "empty": "No questions yet. Add one to get started.",
      "saved": "Saved",
      "count_one": "{{count}} question",
      "count_other": "{{count}} questions",
      "drag": {
        "handleLabel": "Drag to reorder",
        "movedAnnouncement": "Question moved to position {{n}} of {{total}}"
      }
    },
    "converge": {
      "title": "Converge",
      "empty": "Nothing has converged yet.",
      "promoteHifi": "Promote to hi-fi",
      "viewWinners": "View winners",
      "timeline": {
        "explore": "Explore",
        "converge": "Converge",
        "final": "Final"
      }
    },
    "share": {
      "copyAnnounce": "Copied to clipboard",
      "publishedAnnounce": "Concept published",
      "unpublishedAnnounce": "Concept unpublished"
    },
    "results": {
      "title": "Results",
      "loading": "Loading results…",
      "empty": "Results will appear once respondents submit.",
      "stats": {
        "respondents_one": "{{count}} respondent",
        "respondents_other": "{{count}} respondents",
        "completion": "Completion",
        "avgScore": "Avg. score"
      },
      "toolbar": {
        "search": "Search id, name, email",
        "searchLabel": "Search session id",
        "refresh": "Refresh",
        "filtersActive_one": "{{count}} filter active",
        "filtersActive_other": "{{count}} filters active"
      },
      "exportRow": {
        "csv": "Export CSV",
        "pptx": "Export deck",
        "pdf": "Export PDF"
      },
      "respondents": {
        "completed": "Completed",
        "inProgress": "In progress",
        "abandoned": "Abandoned",
        "noAnswers": "No answers yet",
        "anonymous": "Respondent"
      },
      "analyzing": {
        "title": "Running AI check",
        "subtitle": "Synthetic respondents are evaluating your design.",
        "stepPrepare": "Preparing concepts",
        "stepCollect": "Collecting responses",
        "stepAnalyze": "Analyzing results",
        "progress": "{{completed}} of {{target}} responses",
        "note": "This usually takes a couple of minutes. You can leave this page and come back. The results appear here automatically.",
        "slow": "This is taking longer than usual. The run is still going; the results will appear here when it finishes."
      }
    },
    "runtime": {
      "title": "Concept runtime",
      "loading": "Loading concept test…",
      "loadError": "Failed to load concept test",
      "explore": {
        "title": "Explore",
        "intro": "Tap the variants you connect with most."
      },
      "converge": {
        "title": "Converge",
        "intro": "Compare the finalists head-to-head."
      },
      "final": {
        "title": "Final",
        "intro": "Pick the one that wins."
      },
      "completed": {
        "title": "Thanks for your responses",
        "subtitle": "Your feedback has been recorded."
      }
    },
    "list": {
      "title": "Concept Tests",
      "newTest": "New concept test",
      "newLabel": "New pairwise comparison",
      "creating": "Creating…",
      "searchPlaceholder": "Search {{noun}}s",
      "noMatch": "No {{noun}}s match the current filters.",
      "count_one": "{{count}} concept test",
      "count_other": "{{count}} concept tests"
    },
    "referencePicker": {
      "title": "Reference picker",
      "description": "Choose earlier questions that should feed context into this concept stage.",
      "empty": "No reference questions available.",
      "confirmDetach": "Detach this reference?",
      "search": "Search questions",
      "selectedCount_one": "{{count}} reference",
      "selectedCount_other": "{{count}} references"
    },
    "preview": {
      "title": "Preview",
      "kicker": "Preview",
      "open": "Open as respondent",
      "reset": "Reset preview",
      "close": "Close preview",
      "closeScrim": "Close preview scrim",
      "failedStart": "Failed to start preview",
      "failedReset": "Failed to reset preview",
      "failedShare": "Failed to create share link"
    },
    "settings": {
      "title": "Concept settings",
      "namePlaceholder": "Untitled concept test",
      "saving": "Saving…",
      "archive": "Archive",
      "restore": "Restore",
      "errorSave": "Failed to save settings"
    },
    "phaseConfig": {
      "closeScrim": "Close configure drawer",
      "titles": {
        "variants": "Configure variants generation",
        "converge": "Configure converge stage",
        "distribute": "Configure distribution defaults"
      },
      "descriptions": {
        "variants": "Tune how variants are generated: count per round, visual style, and prompt style.",
        "converge": "Promotion thresholds for moving lo-fi winners into hi-fi renders and auto-advancing the stage.",
        "distribute": "Defaults applied when this concept is published (anonymous access, cap, default publish state)."
      },
      "variants": {
        "perRound": "Variants per round",
        "maxRounds": "Max rounds per stage",
        "lofiTier": "Variant style",
        "lofiTierHelp": "Auto picks the best style for your concept type.",
        "promptTemplate": "Prompt template",
        "mockupProvider": "Mockups"
      },
      "converge": {
        "winnerThreshold": "Winner threshold",
        "winnerThresholdHelp": "Minimum score (0-1) a lo-fi variant must reach to be promoted to hi-fi."
      },
      "distribute": {
        "publishTarget": "Default publish state",
        "draft": "Draft (default)",
        "published": "Published",
        "allowAnonymous": "Allow anonymous respondents",
        "allowAnonymousHelp": "Respondents can submit without signing in.",
        "respondentCap": "Respondent cap",
        "respondentCapHelp": "Hard limit on respondents. Empty = unlimited.",
        "unlimited": "Unlimited"
      }
    },
    "respondentDrawer": {
      "ariaLabel": "Respondent details",
      "fallbackName": "Respondent",
      "closeAria": "Close respondent details",
      "summary": "Summary",
      "source": "Source",
      "submissions": "Submissions",
      "first": "First",
      "last": "Last",
      "answers": "Answers",
      "emptyTitle": "No answers yet",
      "emptyDescription": "This respondent has not submitted any answers or preferences yet."
    },
    "hifi": {
      "kicker": "Hi-fi promotion",
      "title": "Render fidelity",
      "description": "Promote top lo-fi performers into polished hi-fi renders.",
      "cost": "{{credits}} credits per upgraded image",
      "configure": "Configure",
      "stat": {
        "lofi": "Draft",
        "hifi": "High detail",
        "active": "Active",
        "winnersPerSegType": "Winners by segment and type"
      },
      "upgradingLabel": "Upgrading…",
      "upgradeLabel": "Upgrade to high detail",
      "upgradeCompositeLabel": "Upgrade + composite",
      "compositeBatchLabel": "Composite mockups now"
    },
    "briefWizard": {
      "upNext": "Up next",
      "useAiDefaults": "Use AI defaults",
      "useAiDefaultsHelp": "Skip Style and let AI pick the palette, references, mockup engine, and advanced hints for you.",
      "aiDefaultsApplied": "AI defaults applied",
      "configureProfiling": "Configure profiling questions",
      "previewVariants": "Preview latest variants",
      "designRow": {
        "title": "Design",
        "hint": "Start from a design, or link one for reference (saved with the brief; generation does not use it yet).",
        "linked": "Linked to a design project.",
        "useExisting": "Use existing design",
        "createInStudio": "Create in editor",
        "pickerTitle": "Use existing design",
        "loading": "Loading designs",
        "linking": "Linking",
        "empty": "No designs yet. Create one in the editor first.",
        "studioError": "Could not open the editor.",
        "linkError": "Could not load that design. Try another.",
        "noAccess": "This account cannot open packaging designs yet.",
        "listError": "Could not load your designs. Try again."
      },
      "conceptType": {
        "label": "Concept type",
        "ai": "AI decides",
        "manual": "I choose",
        "aiHelp": "AI picks the medium from your brief.",
        "manualHelp": "Pick one or more concept types."
      },
      "optionalBrand": "Brand name (optional)",
      "brandPlaceholder": "Add a brand name, if you have one",
      "moreDetails": "References and more details (optional)",
      "references": {
        "notUsedSuffix": " (not used by generation yet)"
      },
      "profilingTitle": "Audience profiling"
    },
    "build": {
      "untitled": "Untitled concept test",
      "optional": "Optional",
      "ship": "Ship",
      "viewResults": "View results",
      "section": {
        "brief": "Brief",
        "variants": "Variants",
        "converge": "Converge",
        "battery": "Battery",
        "ship": "Ship"
      },
      "hint": {
        "briefNeeded": "Add a brand name or an idea to the brief to start generating concepts.",
        "variants": "Add a brand name in the brief to start generating variants.",
        "converge": "Add variants first to converge on a winner.",
        "battery": "Add variants first to build the question battery.",
        "ship": "Add variants first to ship this test."
      },
      "status": {
        "draft": "Draft",
        "ready": "Ready to ship",
        "published": "Published"
      },
      "summary": {
        "title": "Summary",
        "variants": "Variants",
        "respondents": "Respondents",
        "allPhases": "All phases",
        "quotaFill": "{{assigned}}/{{target}}",
        "generation": "Generation",
        "free": "Free",
        "hifi": "Hi-fi upgrade",
        "hifiCredits": "{{credits}} credits / image",
        "liveHint": "This concept is live and collecting responses.",
        "stepTest": "Test",
        "startBrief": "Start the brief",
        "generateVariants": "Generate variants",
        "importLabels": "Import labels",
        "chooseHowToTest": "Choose how to test"
      }
    },
    "quotas": {
      "title": "Phase quotas",
      "description": "Route each respondent to a single phase. When every enabled phase reaches its target, new respondents skip this question.",
      "phase": {
        "explore": "Explore",
        "converge": "Converge",
        "final": "Final"
      },
      "enablePhase": "Enable {{phase}} quota",
      "target": "Target",
      "pairsToShow": "Pairs shown",
      "conceptsToRank": "Concepts ranked",
      "defaultPlaceholder": "Default",
      "filled": "{{assigned}}/{{target}} respondents",
      "offHint": "Quotas are off. Every respondent walks explore, converge and final in order.",
      "saved": "Quotas saved.",
      "saveFailed": "Failed to save quotas",
      "loadFailed": "Could not load quotas. Reload the page to retry."
    },
    "minimal": {
      "untitled": "Untitled concept test",
      "aiDecides": "AI decides the type",
      "respondentsChip": "{{summary}} respondents",
      "notGenerated": "Not generated yet",
      "advancedEdit": "Advanced edit",
      "quotasLabel": "Phase quotas",
      "quotaTitle": "Respondents assigned to this phase out of the target",
      "editHint": "The brief, variants and phases are edited in the concept editor.",
      "setupHint": "Use Advanced edit to set up the brief and generate variants."
    },
    "testChooser": {
      "titleDesign": "Test this design",
      "titleConcept": "Choose how to test",
      "subtitle": "Pick one path. You can run the others later.",
      "starting": "Starting",
      "insufficientCredits": "Not enough credits. Add credits to continue.",
      "noProject": "Save the design first.",
      "noConcept": "Nothing to test yet.",
      "promoteError": "Could not prepare the design for testing.",
      "respondentsError": "Could not create the survey.",
      "aiCheckError": "Could not start the AI check.",
      "defaultSurveyTitle": "Design feedback",
      "respondents": {
        "title": "Real respondents",
        "description": "Put it in a survey and collect answers from real people."
      },
      "shelf": {
        "title": "Shelf test",
        "description": "See it on a store shelf next to real competitors and measure what shoppers pick.",
        "unavailable": "Available soon in this workspace",
        "connect": "Connect ytinsights in settings"
      },
      "aiCheck": {
        "title": "AI check",
        "description": "Run synthetic respondents now and get a first read in minutes.",
        "runsOn": "Runs on",
        "models": "Runs on OpenAI, Anthropic, and Google models"
      },
      "shelfError": "Could not open the shelf flow."
    },
    "mockups": {
      "loading": "Loading providers…",
      "none": "No providers available",
      "groupBuiltIn": "Built-in",
      "groupAi": "AI mockups",
      "groupVideo": "Video",
      "devDetails": "Developer details",
      "rowLabel": "Mockups",
      "modalTitle": "Mockups"
    },
    "import": {
      "library": "Asset library",
      "libraryHelper": "Reuse images already uploaded",
      "url": "Paste URLs",
      "urlHelper": "Newline-separated image links",
      "drive": "Google Drive",
      "driveHelper": "Pick a Drive folder",
      "github": "GitHub repo",
      "githubHelper": "Pull images from a folder",
      "mockup": "Screenshot to mockup",
      "mockupHelper": "Turn a flat screenshot into device frames",
      "moreSources": "More sources"
    },
    "shelf": {
      "loading": "Loading your concept test",
      "seedErrorTitle": "Could not load the concept test",
      "seedErrorBody": "The concept data is unavailable.",
      "retry": "Try again",
      "backend": {
        "title": "ytinsights backend not connected",
        "description": "This step runs on the ytinsights service. Connect it to run live market data and agents. Your concept data stays loaded here in the meantime."
      },
      "setup": {
        "title": "Review your setup",
        "subtitle": "Everything below is filled from your concept test. Adjust the shelf options and continue.",
        "editBrief": "Edit brief",
        "productIdea": "Product idea",
        "brand": "Brand",
        "targetCustomer": "Target customer",
        "personality": "Brand personality",
        "conceptType": "Concept type",
        "mood": "Mood and color",
        "variants": "Variants",
        "variantCount": "{{count}} variants ready",
        "noVariants": "No variant images yet. Generate variants in the builder first.",
        "marketplaces": "Target marketplaces",
        "region": "Market region",
        "regions": {
          "northeast": {
            "description": "New England and the Mid-Atlantic states. The most densely populated region."
          },
          "southeast": {
            "description": "The South Atlantic and Gulf states, from Virginia down to Florida and across to Louisiana."
          },
          "midwest": {
            "description": "The Great Lakes and Great Plains states, from Ohio west to the Dakotas and Kansas."
          },
          "southwest": {
            "description": "Texas, Oklahoma, New Mexico and Arizona. Largely arid, with a strong Hispanic population."
          },
          "west": {
            "description": "The Rocky Mountain and Pacific states, including California, Washington and Colorado."
          }
        },
        "continue": "Looks right"
      },
      "panel": {
        "title": "Digital shelf",
        "subtitle": "Place your concepts on a retail shelf next to real products.",
        "back": "Back to concepts",
        "backendDetail": "Building the shelf against live marketplace products runs on the ytinsights service. You can still open the shelf editor with your concepts.",
        "marketplace": "Marketplace",
        "concepts": "Concepts on the shelf",
        "noConcepts": "No concept images to place yet. Pick concepts on the previous step.",
        "building": "Building the shelf",
        "open": "Open shelf",
        "buildError": "Could not build the shelf.",
        "buildEmpty": "The shelf service returned no panel for this marketplace, so there is nothing to show yet.",
        "retry": "Try building again",
        "loadingEditor": "Loading the shelf editor",
        "editorUnavailableTitle": "Shelf editor not available yet",
        "editorUnavailableBody": "The digital shelf editor is not part of this build. Your concepts and panel settings are kept."
      },
      "editor": {
        "common": {
          "save": "Save",
          "cancel": "Cancel",
          "remove": "Remove",
          "yes": "Yes",
          "no": "No"
        },
        "unavailable": {
          "title": "Shelf preview needs the ytinsights connection",
          "description": "Connect the ytinsights service to load the digital shelf. Set NEXT_PUBLIC_YTINSIGHTS_URL and redeploy.",
          "panelEditor": "Panels can be arranged locally, but creating digital shelves, syncing concepts and running surveys needs the ytinsights connection.",
          "imageGeneration": "Image generation runs on the ytinsights service. Existing images still display."
        },
        "shelfModal": {
          "title": "{{marketplace}} digital shelf",
          "titleWithPanel": "{{marketplace}} digital shelf · {{panelName}}",
          "editing": "Editing",
          "preview": "Preview",
          "editShelf": "Edit shelf",
          "previewMode": "Preview mode",
          "close": "Close",
          "loadingEdit": "Loading edit mode",
          "loadingPreview": "Loading shelf preview",
          "noShelfTitle": "No digital shelf yet",
          "noShelfDescription": "Create the digital shelf for this panel first, then open it here."
        },
        "defaults": {
          "title": "Panel defaults",
          "summary": "{{marketplaces}} marketplaces · {{concepts}} concepts · {{panels}} panels",
          "generateAll": "Generate all panels",
          "startAll": "Start all surveys",
          "demographicsRequired": "Select at least one demographic filter before generating panels or starting all surveys.",
          "panelistsPerPanel": "Panelists per panel: {{count}}",
          "totalPanelists": "Total panelists:",
          "totalBudget": "Total budget:"
        },
        "filters": {
          "title": "Panels ({{filtered}}/{{total}})",
          "clear": "Clear filters",
          "byConcept": "Filter by concept",
          "byMarketplace": "Filter by marketplace",
          "allConcepts": "All concepts",
          "noMarketplaces": "No marketplaces available",
          "emptyHint": "Leave empty to show all panels.",
          "noMatchTitle": "No panels match the current filters",
          "noMatchBody": "Adjust or clear the filters to see all panels."
        },
        "panels": {
          "title": "Panel editor",
          "subtitle": "Configure survey panels with your selected concepts",
          "backToConcepts": "Back to concepts",
          "loadingTitle": "Loading your saved concept",
          "loadingBody": "Restoring your survey so you can pick up where you left off.",
          "availableConcepts": "Available concepts ({{count}})",
          "allConceptsInPanels": "All concepts have been added to panels",
          "removeConcept": "Remove concept",
          "noImage": "No image",
          "renamePanel": "Rename panel",
          "deletePanel": "Delete panel",
          "dropHereTitle": "Drag concepts here",
          "dropHereBody": "Drop concepts from the pool above to add them to this panel.",
          "settingsTitle": "Panel settings",
          "marketplaceLabel": "Digital shelf marketplace (select one)",
          "marketplaceLocked": "Marketplace locked to {{marketplace}}",
          "marketplaceReady": "{{marketplace}}: {{count}} products from \"{{query}}\"",
          "marketplaceNoData": "{{marketplace}}: no data available. Search for products in the concept editor first.",
          "zeroProducts": "0 products",
          "creatingShelf": "Creating {{marketplace}} digital shelf",
          "syncingShelf": "Syncing {{marketplace}} shelf",
          "generatingPanels": "Generating panels",
          "editShelf": "Edit {{marketplace}} digital shelf",
          "viewShelf": "View {{marketplace}} digital shelf",
          "previewOnly": "Preview only while the survey is locked",
          "updatingShelf": "Updating shelf with new concepts",
          "linkCopied": "Link copied",
          "copySurveyLink": "Copy survey link (with intro)",
          "copyPreviewLink": "Copy preview link",
          "surveySettings": "Survey settings",
          "selectionsCount": "{{count}} selection",
          "selectionsCount_other": "{{count}} selections",
          "surveyDemographics": "Survey demographics",
          "demographicsConfigured": "Demographics configured",
          "panelistsCount": "Panelists: {{count}}",
          "estimatedCost": "Estimated cost:",
          "startSurvey": "Start survey",
          "stopSurvey": "Stop survey",
          "detailedReport": "Detailed report",
          "surveyStats": "Survey stats",
          "responses": "Responses",
          "completionRate": "Completion rate",
          "avgTime": "Avg time",
          "statusActive": "Active",
          "missingRequirements": "Missing requirements",
          "lockedAfterStart": "Editing locked after survey start",
          "addPanel": "Add new panel"
        },
        "demographics": {
          "title": "Survey demographics",
          "save": "Save demographics",
          "tabBasic": "Basic",
          "tabGeographic": "Geographic",
          "tabBehavioral": "Behavioral",
          "tabProduct": "Product criteria",
          "suggestionsBanner": "AI agent analysis suggests demographics for this audience. Apply to pre-fill empty fields.",
          "applySuggestions": "Apply suggestions",
          "ageRange": "Age range",
          "gender": "Gender",
          "income": "Household income",
          "education": "Education level",
          "employment": "Employment status",
          "usStates": "US states",
          "areaType": "Area type",
          "shoppingFrequency": "Grocery shopping frequency",
          "brandLoyalty": "Brand loyalty",
          "priceConsciousness": "Price consciousness",
          "onlineShopping": "Online grocery shopping",
          "dietaryRestrictions": "Dietary restrictions and preferences",
          "healthConsciousness": "Health consciousness",
          "sustainability": "Sustainability importance",
          "productExperience": "Plant-based product experience"
        },
        "panelists": {
          "title": "Configure panel size",
          "save": "Save panel size",
          "recommended": "Recommended panel sizes",
          "countLabel": "{{count}} panelists",
          "accuracy": "{{accuracy}} accuracy",
          "custom": "Custom panel size",
          "customSize": "Custom size",
          "customCountLabel": "Number of panelists (minimum 20)",
          "estimatedCost": "Estimated cost:",
          "costPerPanelist": "Cost per panelist:",
          "guidelinesTitle": "Panel size guidelines",
          "guidelines": "Minimum 20 panelists for statistical significance. 100+ recommended for reliable insights. Larger panels are more accurate but take longer. Cost covers recruitment, survey administration and data analysis."
        },
        "surveySettings": {
          "title": "Survey settings",
          "save": "Save settings",
          "maxSelectionsLabel": "Number of products to select",
          "maxSelectionsHelper": "Panelists will select {{count}} product from the digital shelf",
          "maxSelectionsHelper_other": "Panelists will select {{count}} products from the digital shelf",
          "maxSelectionsError": "Max selections must be between 1 and 10",
          "questionLabel": "Feedback question",
          "questionHelper": "Shown after product selection",
          "questionRequired": "Question text is required",
          "prolific": "Prolific integration",
          "prolificHelper": "Use Prolific URL parameters (PROLIFIC_PID, STUDY_ID, SESSION_ID) for panelist tracking.",
          "redirectUrl": "Redirect URL (optional)",
          "redirectUrlHelper": "Panelists are redirected here after completing the survey."
        },
        "startSurvey": {
          "title": "Start survey",
          "confirm": "Start survey",
          "body": "You're about to start the survey for \"{{name}}\". Once started, it begins recruiting panelists and cannot be easily stopped.",
          "summary": "Survey summary",
          "concepts": "Concepts:",
          "panelists": "Panelists:",
          "cost": "Cost:",
          "duration": "Duration:",
          "marketplace": "Marketplace:",
          "demographics": "Demographics:",
          "demographicsConfigured": "Configured",
          "demographicsNotConfigured": "Not configured",
          "warningTitle": "Important",
          "warning": "The survey immediately starts recruiting panelists. You are charged once responses begin. Stopping early may still incur partial costs. Results arrive as responses come in."
        },
        "deletePanel": {
          "title": "Delete panel \"{{name}}\"?",
          "confirm": "Delete",
          "body": "This removes the panel configuration and returns its {{count}} concept to the available list. This cannot be undone.",
          "body_other": "This removes the panel configuration and returns its {{count}} concepts to the available list. This cannot be undone."
        },
        "deleteImage": {
          "title": "Delete image",
          "confirm": "Delete image",
          "body": "You're about to delete image {{index}}. This cannot be undone.",
          "bodyWithBrand": "You're about to delete image {{index}} from \"{{brandName}}\". This cannot be undone.",
          "warningTitle": "Warning",
          "warning": "The image is permanently removed from storage and the slot stays empty until you generate a new one. If already added to a panel it remains there but can no longer be updated."
        },
        "images": {
          "generatingTitle": "Generating product images",
          "completedOf": "{{done}} of {{total}} completed",
          "imageLabel": "Image {{index}}",
          "active": "Active",
          "activeBadge": "#{{index}} · Active",
          "activeAlt": "Active concept image {{index}}",
          "thumbAlt": "Concept {{index}}",
          "activeIndicator": "Showing concept details for concept {{index}}",
          "ready": "Image ready",
          "preparing": "Preparing to generate",
          "noImage": "No image",
          "noImageYet": "No image yet",
          "failedTitle": "Image {{index}} generation failed",
          "stepGenerate": "Generate",
          "stepRemoveBg": "Remove BG",
          "stepCrop": "Crop",
          "stepSave": "Save",
          "bgRemoved": "BG removed",
          "cropped": "Cropped",
          "saved": "Saved",
          "seeOnShelf": "See image {{index}} on a digital shelf",
          "shelfHint": "Pick a marketplace to see how your product appears on its digital shelf.",
          "searching": "Searching",
          "unavailable": "Unavailable",
          "noProducts": "No products",
          "regenerate": "Regenerate",
          "download": "Download",
          "upload": "Upload",
          "delete": "Delete",
          "addToPanel": "Add to panel",
          "addedToPanel": "Added to panel"
        },
        "concept": {
          "selectConcept": "Select a concept to view details",
          "productVisuals": "Product visuals",
          "setupPanel": "Setup panel with {{count}} concept",
          "setupPanel_other": "Setup panel with {{count}} concepts",
          "preparingPanel": "Preparing panel workspace",
          "editBrandName": "Edit brand name",
          "editTagline": "Edit tagline",
          "targetAudience": "Target audience",
          "editTargetAudience": "Edit target audience",
          "shelfCard": "Digital shelf card",
          "editShelfCard": "Edit product card fields",
          "marketplaceSpecific": "Marketplace-specific",
          "productCount": "{{count}} product",
          "productCount_other": "{{count}} products",
          "usps": "Unique selling points",
          "editUsps": "Edit unique selling points",
          "addUsp": "Add USP",
          "availableOptions": "Available options",
          "editAvailableOptions": "Edit available options",
          "addOption": "Add option",
          "noOptions": "No options available",
          "keyBenefits": "Key benefits",
          "editKeyBenefits": "Edit benefits",
          "addBenefit": "Add benefit",
          "positioningStrategy": "Positioning strategy",
          "editPositioningStrategy": "Edit positioning strategy",
          "visualDesign": "Visual design",
          "editVisualDesign": "Edit visual design",
          "packagingStyle": "Packaging style",
          "brandLook": "Brand look",
          "colorPalette": "Color palette",
          "pickColor": "Pick color",
          "colorPlaceholder": "Color name or hex code",
          "addColor": "Add color",
          "packagingDetails": "Packaging details",
          "editPackagingDetails": "Edit packaging details",
          "packageType": "Package type",
          "displayMethod": "Display method",
          "materials": "Materials",
          "addMaterial": "Add material",
          "packageSize": "Package size (inches)",
          "width": "Width",
          "height": "Height",
          "depth": "Depth",
          "portionSize": "Portion size",
          "sustainability": "Sustainability features",
          "specialFeatures": "Special features",
          "addFeature": "Add feature",
          "notSpecified": "Not specified",
          "marketingIdeas": "Marketing launch ideas",
          "editMarketingIdeas": "Edit marketing ideas",
          "coreMessaging": "Core messaging",
          "adVisuals": "Ad visuals",
          "addAdVisual": "Add ad visual",
          "promotionChannels": "Promotion channels",
          "addChannel": "Add channel"
        }
      },
      "agents": {
        "back": "Back",
        "backendDetail": "This step runs the multi-agent viability analysis for your selected niches on the ytinsights service.",
        "errorFallback": "Agent analysis failed",
        "errorTitle": "Analysis failed",
        "noReport": "No report available.",
        "noneProceedable": "No niches passed agent analysis. Go back and explore different opportunities.",
        "opportunity": {
          "creativeAngles": "Creative angles",
          "entryStrategy": "Recommended entry strategy",
          "hiddenUpside": "Hidden upside",
          "mitigations": "Objection mitigations",
          "mitigationsFound": "Mitigations found",
          "precedents": "Precedents",
          "solution": "Solution",
          "solvability": "Overall solvability",
          "upgradedVerdict": "Upgraded verdict"
        },
        "positioning": {
          "blueOcean": "Blue ocean factors",
          "current": "Current",
          "differentiation": "Differentiation score",
          "factor": "Factor",
          "proposed": "Proposed",
          "suggestedBrand": "Suggested brand",
          "valueProposition": "Value proposition"
        },
        "progress": {
          "activity": "Agent activity",
          "analyzing": "Analyzing niche {{current}} of {{total}}",
          "current": "Current: {{agent}}",
          "default": "Specialized agents are analyzing your niches",
          "title": "Running agent analysis"
        },
        "rationaleTitle": "Final verdict rationale",
        "reportsTitle": "Agent reports",
        "retry": "Retry",
        "risk": {
          "killConditions": "Kill conditions",
          "mitigation": "Mitigation",
          "regulatory": "Regulatory risks",
          "timing": "Market timing",
          "timingValue": "{{level}} risk",
          "verdict": "Verdict",
          "viability": "Viability score"
        },
        "sentiment": {
          "aspects": "Aspect-based sentiment",
          "painPoints": "Consumer pain points",
          "wishlists": "Consumer wishlists"
        },
        "shelfOpt": {
          "competitorAvg": "Competitor avg",
          "conversionLift": "Est. conversion lift: {{value}}",
          "listing": "Listing optimizations",
          "positioning": "Positioning",
          "seoKeywords": "SEO keywords",
          "suggestedPrice": "Suggested price"
        },
        "specs": {
          "bom": "Bill of materials",
          "bomItems": "BOM items",
          "complexity": "Complexity",
          "component": "Component",
          "cost": "Cost",
          "estCogs": "Est. COGS",
          "notes": "Manufacturing notes",
          "source": "Source"
        },
        "startFallback": "Failed to start agent session",
        "stats": {
          "brand": "Brand",
          "cogs": "COGS",
          "margin": "Gross margin",
          "price": "Price",
          "solvability": "Solvability"
        },
        "strategy": {
          "iterationNotes": "Iteration notes",
          "synthesizedVerdict": "Synthesized verdict"
        },
        "summary": {
          "avgViability": "Avg viability",
          "conditional": "CONDITIONAL",
          "go": "GO",
          "pass": "PASS",
          "title": "Agent analysis summary"
        },
        "title": "Agent analysis results",
        "verdict": {
          "conditionalGo": "CONDITIONAL GO",
          "go": "GO",
          "pass": "PASS"
        }
      },
      "concepts": {
        "backToAgentResults": "Back to agent results",
        "backToSetup": "Back to setup",
        "backendDetail": "Generating more concepts, image generation, and marketplace search run on the ytinsights service. The concepts below stay fully usable without it.",
        "benefits": "Benefits",
        "cancel": "Cancel",
        "deleteGroup": "Delete concept group",
        "deleteGroupConfirm": "Delete group",
        "deleteGroupFailedBody": "The shelf service kept {{name}}, so it is back in the list. Try again.",
        "deleteGroupFailedTitle": "Could not delete the group",
        "deleteGroupMessage": "This removes {{name}} and its {{total}} concepts. Concepts from this group are also removed from your panel selection.",
        "deleteGroupPartialBody": "{{failed}} of {{total}} images could not be removed from the shelf service.",
        "deleteGroupPartialTitle": "Some images were kept",
        "deleteGroupRetry": "Try again",
        "deleteGroupSkippedBody": "Its images are stored on the shelf service, which is not connected right now. Connect it and try again.",
        "deleteGroupSkippedTitle": "Group not deleted",
        "deleteGroupTitle": "Delete concept group",
        "deleteImageFailedBody": "It stays stored on the shelf service. The new image is still being generated.",
        "deleteImageFailedTitle": "The previous image could not be removed",
        "emptyDescription": "This test has no variants to seed the shelf flow with. Go back to setup to review the concept test.",
        "emptyTitle": "No concepts to show",
        "flavorOptions": "Flavor options",
        "generateImage": "Generate image",
        "generateMore": "Generate another concept group",
        "generating": "Generating",
        "generatingImages": "Generating images",
        "generationDuration": "Concept generation took {{seconds}}s",
        "groupsHeading": "Concept groups",
        "hideDetails": "Hide details",
        "keyBenefits": "Key benefits",
        "marketplaceFailed": "Failed",
        "marketplaceHeading": "Marketplace products",
        "marketplaceProductCount": "{{total}} products",
        "marketplaceQueryPlaceholder": "Update search query",
        "marketplaceSearch": "Search",
        "marketplaceSearching": "Searching",
        "marketplaceUpdated": "Updated",
        "noImage": "No image yet",
        "positioning": "Positioning",
        "proceedToPanel": "Continue to panel ({{selected}})",
        "progressBackground": "Removing background",
        "progressCompleted": "Image ready",
        "progressCropping": "Cropping image",
        "progressGenerating": "Generating image",
        "progressPrompt": "Preparing image prompt",
        "progressSaving": "Saving image",
        "progressStarting": "Starting image generation",
        "regenerateImage": "Regenerate image",
        "returnToSetupConfirm": "Return to setup",
        "returnToSetupMessage": "Go back to the setup step? Your current concepts stay loaded.",
        "returnToSetupTitle": "Return to setup",
        "select": "Select for shelf",
        "selectAtLeastOne": "Select at least one concept to put on the shelf.",
        "selected": "Selected",
        "showDetails": "Show details",
        "subtitle": "{{total}} concepts ready for {{productIdea}}.",
        "target": "Target",
        "targetAudience": "Target audience",
        "title": "Concepts",
        "uniqueSellingPoints": "Unique selling points",
        "variantCount": "{{total}} variants",
        "visualDesign": "Visual design",
        "yourProduct": "your product"
      },
      "exploration": {
        "back": "Back to setup",
        "backendDetail": "Exploration runs the marketplace white-space pipeline on the ytinsights service. Connect it to scan marketplaces and detect niche opportunities.",
        "card": {
          "conceptCount": "{{count}} concepts",
          "select": "Select",
          "selected": "Selected",
          "viewDetails": "View details",
          "voidCount": "{{count}} voids"
        },
        "chart": {
          "clusters": "{{count}} clusters detected",
          "legend": {
            "conditional": "Conditional",
            "go": "GO",
            "pass": "Pass",
            "selected": "Selected"
          },
          "title": "Product space with void clouds",
          "tooltip": "Click for details",
          "voids": "voids"
        },
        "detail": {
          "adjacentCompetitors": "Adjacent competitors",
          "advantage": "Sustainable advantage",
          "barriers": "Barriers to entry",
          "channelStrategy": "Channel strategy",
          "close": "Close",
          "competitiveLandscape": "Competitive landscape",
          "concepts": "Product concepts ({{count}})",
          "confidence": "Confidence: {{level}}",
          "consumerInsight": "Consumer insight",
          "differentiator": "Differentiator",
          "form": "Form",
          "gtm": "GTM",
          "keyRisks": "Key risks",
          "marketOpportunity": "Market opportunity",
          "neighbors": "Neighbor products ({{count}})",
          "painPoints": "Pain points",
          "priceRange": "Price range",
          "purchaseTriggers": "Purchase triggers",
          "rationale": "Rationale",
          "relevantTrends": "Relevant trends",
          "revenue": "Revenue",
          "sizing": "Sizing",
          "solveToday": "How consumers solve today",
          "strategicRecommendation": "Strategic recommendation",
          "targetPersona": "Target persona",
          "timeToMarket": "Time to market",
          "unmetNeed": "Unmet need",
          "validationSteps": "Validation steps",
          "variants": "Variants"
        },
        "error": {
          "noData": "No data returned",
          "noProducts": "Marketplace scraping returned no products. {{message}}",
          "pipelineFailed": "Exploration pipeline failed",
          "timeout": "Exploration timed out after 15 minutes. The pipeline may still be running. Try again in a moment.",
          "title": "Exploration failed",
          "unknown": "Something went wrong"
        },
        "loadingAria": "Running exploration",
        "nichesTitle": "Detected niches ({{count}})",
        "opportunity": {
          "large": "Large opportunity",
          "medium": "Medium opportunity",
          "small": "Small opportunity",
          "veryLarge": "Very large opportunity"
        },
        "proceed": "Proceed to agents ({{count}})",
        "proceedBottom": "Proceed to agent analysis ({{count}})",
        "retry": "Retry",
        "selectedCount": "{{count}} selected for agent analysis",
        "stage": {
          "clustering": {
            "detail": "Grouping nearby voids into actionable market niches via DBSCAN",
            "label": "Clustering niches"
          },
          "concepts": {
            "detail": "Creating strategic concept proposals for each niche",
            "label": "Generating concepts"
          },
          "embedding": {
            "detail": "Parsing scraped data and computing embeddings"
          },
          "loading": {
            "detail": "Parsing and embedding product features",
            "label": "Loading product data"
          },
          "processing": {
            "detail": "Running the exploration pipeline",
            "label": "Processing"
          },
          "scraping": {
            "detail": "Collecting product data from {{marketplaces}}",
            "label": "Scraping marketplaces"
          },
          "starting": {
            "detail": "Initializing the marketplace analysis pipeline",
            "label": "Starting exploration"
          },
          "voids": {
            "detail": "Computing alpha shapes and Voronoi tessellation to find white-space gaps",
            "label": "Detecting voids"
          }
        },
        "subtitle": "White-space analysis for “{{query}}”",
        "summary": {
          "body": "Analyzed {{products}} products across {{marketplaces}}. Detected {{voids}} white-space voids, clustered into {{clouds}} actionable niches.",
          "conditionalCount": "{{count}} conditional",
          "goCount": "{{count}} GO",
          "passCount": "{{count}} pass",
          "pipeline": "Pipeline",
          "title": "Executive summary"
        },
        "title": "Exploration results",
        "verdict": {
          "conditional": "Conditional",
          "go": "GO",
          "pass": "Pass"
        }
      },
      "loaders": {
        "activeImageAlt": "Active concept image {{number}}",
        "activeLabel": "Active",
        "addToPanel": "Add to panel",
        "addedToPanel": "Added to panel",
        "badgeBgRemoved": "Background removed",
        "badgeCropped": "Cropped",
        "badgeSaved": "Saved",
        "completedCount": "{{completed}} of {{total}} completed",
        "delete": "Delete",
        "download": "Download",
        "generatingTitle": "Generating product images",
        "imageFailedTitle": "Image {{number}} generation failed",
        "imageLabel": "Image {{number}}",
        "imageReady": "Image ready",
        "loading": "Loading",
        "noImage": "No image",
        "noImageYet": "No image yet",
        "noProducts": "No products",
        "preparing": "Preparing to generate",
        "process": "Process",
        "regenerate": "Regenerate",
        "searching": "Searching",
        "shelfHint": "Select a marketplace to see how your product would appear on its digital shelf.",
        "shelfTitle": "See image {{number}} on the digital shelf",
        "showingConcept": "Showing concept details for concept {{number}}",
        "stepCrop": "Crop",
        "stepGenerate": "Generate",
        "stepRemoveBackground": "Remove background",
        "stepSave": "Save",
        "thumbAlt": "Concept {{number}}",
        "unavailable": "Unavailable",
        "upload": "Upload"
      }
    },
    "avConsent": {
      "title": "Before we start the interview",
      "intro": "The next step is a short interview with our AI. Here is exactly what happens, so you can decide.",
      "capturedVideo": "Your camera and microphone turn on and stay on for the interview.",
      "capturedAudio": "Your microphone turns on and stays on for the interview.",
      "storedVideo": "The video and audio are recorded and stored with your response.",
      "storedAudio": "The audio is recorded and stored with your response.",
      "shared": "The research team can watch or listen to it, and things you say may be quoted in reports they share.",
      "startVideo": "Start the interview",
      "startAudio": "Start the interview",
      "skipVideo": "Skip the interview",
      "skipAudio": "Continue by typing instead",
      "liveVideo": "Recording — your camera and microphone are on.",
      "liveAudio": "Recording — your microphone is on.",
      "tapToSpeak": "Tap to speak"
    },
    "seamless": {
      "checkingConcepts": "Checking for concepts (attempt {{attempt}})",
      "generatingConcepts": "Generating concepts",
      "whichConcept": "Which concept do you prefer?",
      "confirmChoice": "Confirm Choice",
      "submitRanking": "Submit Ranking ({{number}})",
      "nextConcept": "Next Concept",
      "complete": "Complete",
      "loadConceptsFailed": "Failed to load concepts",
      "submitRatingFailed": "Failed to submit rating",
      "advancedTesting": "More testing options",
      "averageRatings": "Average ratings",
      "backToConcepts": "Add concepts",
      "brief": "Brief",
      "concepts": "Concepts",
      "editSettings": "Edit settings",
      "feedbackSaved": "Your feedback was saved. Please try again to finish this step.",
      "fielding": "Respondents",
      "filters": "Filters",
      "generationSettings": "Generation settings",
      "initialGenerationFailed": "Your draft is saved, but concept generation could not start. Try generating again.",
      "launchToCollect": "Preview your concepts, then publish your test to collect feedback.",
      "methodSettings": "Research settings",
      "needConcepts": "Add a concept before publishing.",
      "noFeedback": "No feedback yet",
      "noWrittenFeedback": "No written feedback yet.",
      "phase": {
        "shelf": "Shelf",
        "explore": "Compare",
        "converge": "Rank",
        "final": "Rate"
      },
      "rankConcept": "Rank concept {{number}}",
      "ratingAppeal": "Appeal",
      "ratingBrandFit": "Brand fit",
      "ratingPurchase": "Purchase intent",
      "ratingRecognition": "Recognition",
      "ratingUniqueness": "Uniqueness",
      "responseCount_one": "{{count}} response",
      "responseCount_other": "{{count}} responses",
      "results": "Results",
      "retry": "Try again",
      "reviewAndPublish": "Review and publish",
      "saveError": "Your changes could not be saved. Please try again.",
      "sessionError": "Could not start this comparison. Please try again.",
      "shareExport": "Share and export",
      "shareTest": "Share test",
      "shareToCollect": "Share your test link to start collecting feedback.",
      "singleConcept": "Your concept",
      "singleDescription": "Collect ratings and written feedback on this concept. Add another concept when you want to compare.",
      "singleResults": "Concept feedback",
      "studio": {
        "openError": "Could not open the project. Your current design is still here.",
        "saveError": "Changes not saved",
        "retry": "Retry",
        "saving": "Saving…",
        "saved": "Saved",
        "designs": "Designs",
        "optionalBrand": "Optional guidance for your next design.",
        "snapshotError": "Could not prepare this design. Your work is saved; please try again."
      },
      "teamAccess": "Team access",
      "test": "Test",
      "testDescription": "Preview the experience, then share one link with your audience.",
      "testTitle": "Test your concepts",
      "unavailableConcept": "Concept unavailable",
      "writtenFeedback": "Written feedback"
    },
    "briefSentence": {
      "template": "We are making {{type}} for {{audience}}. It should feel {{feel}}. Respondents will see {{concepts}}.",
      "hint": "Click any part of the sentence to change it.",
      "type": {
        "logo": "a logo",
        "packaging": "packaging",
        "ad": "an ad",
        "label": "a label",
        "icon": "an icon",
        "brand_system": "a brand system",
        "unset": "something"
      },
      "field": {
        "type": "Concept type",
        "audience": "Audience",
        "feel": "Feel",
        "concepts": "How many",
        "description": "Product or idea",
        "colors": "Color palette",
        "generationCount": "Concepts to generate"
      },
      "typeAria": "Concept type: {{value}}. Edit.",
      "typeModal": "What are you making?",
      "audiencePlaceholder": "people who would buy it",
      "audienceAria": "Audience: {{value}}. Edit.",
      "feelPlaceholder": "however it should feel",
      "feelAria": "Feel: {{value}}. Edit.",
      "conceptCount_one": "{{count}} concept",
      "conceptCount_other": "{{count}} concepts",
      "conceptsAria": "Concepts to show: {{value}}. Edit.",
      "conceptsModal": "How many concepts?",
      "conceptsSubtitle": "Each respondent sees all of them and says which they prefer.",
      "chooseType": "choose a concept type",
      "descriptionPlaceholder": "describe the product or idea",
      "descriptionExample": "e.g. A high-protein snack for busy afternoons",
      "chooseAudience": "choose an audience",
      "audienceExample": "e.g. People who buy snacks on their commute",
      "audience": {
        "category": "people who buy this type of product",
        "existing": "existing customers",
        "new": "potential new customers"
      },
      "chooseFeel": "choose a feel",
      "feel": {
        "premium": "premium",
        "playful": "playful",
        "minimal": "clean and minimal",
        "bold": "bold and energetic",
        "friendly": "warm and approachable",
        "natural": "natural and grounded"
      },
      "colors": {
        "auto": "colors chosen for me",
        "autoOption": "Choose for me",
        "neutral": "soft neutrals",
        "earthy": "warm earth tones",
        "bright": "bright colors",
        "monochrome": "black and white",
        "pastel": "pastels",
        "picker": {
          "customize": "Customize colors",
          "pickerHint": "Select a swatch to change it, or add your own colors.",
          "editColor": "Edit color {{number}}",
          "removeColor": "Remove color {{number}}",
          "addColor": "Add color",
          "description": "Color direction (optional)",
          "descriptionExample": "e.g. Use the darkest color for text, avoid neon",
          "customPalette": "a custom palette"
        }
      },
      "generationHint": "How many options to create in each round. Manage what respondents see in Test.",
      "productLine": "The idea: {{description}}",
      "audienceLine": "We’re testing {{type}} for {{audience}}.",
      "styleLine": "It should feel {{feel}}, using {{colors}}. Create {{concepts}} to compare.",
      "editField": "{{field}}: {{value}}. Edit.",
      "guidedHint": "Select a highlighted phrase to see suggestions or add your own details.",
      "closeEditor": "Close editor",
      "custom": "Or use your own words",
      "apply": "Apply",
      "showMore": "Show more",
      "showLess": "Show less"
    },
    "workspace": {
      "concepts": {
        "subtitleEmpty": "Generate a first round from the brief, or upload your own designs.",
        "subtitleCounts": "{{active}} of {{total}} are in the test.",
        "generateMore": "Generate more",
        "generate": "Generate concepts",
        "next": "Choose how to test",
        "generating": "Generating concepts. It takes about a minute. You can leave this page and come back.",
        "generationFailed": "The last generation did not finish. Generate again, or upload your own designs."
      },
      "advanced": "Advanced",
      "fielding": {
        "aiCheckBody": "Run {{count}} AI respondents now for a first read before you spend on people.",
        "runAiCheck": "Run AI check",
        "aiShoppers": "AI shoppers",
        "aiShoppersBody": "Send AI shoppers down your shelf and see what they pick.",
        "openShelfRun": "Run AI shoppers",
        "aiCheckCountLabel": "AI respondents",
        "aiCheckCountBounds": "{{min}} to {{max}}",
        "aiCheckCostHint": "Each AI respondent uses credits and adds to the run time."
      },
      "test": {
        "methodSaveFailed": "Could not save the test method.",
        "targetSaveFailed": "Could not save the respondent target.",
        "compare": {
          "title": "Compare",
          "body": "People see your concepts side by side and pick the stronger one. The strongest go through to rating."
        },
        "shelf": {
          "title": "Shelf",
          "body": "People shop a real store shelf with your concept next to real competitors, and you measure what they pick."
        },
        "both": {
          "title": "Both",
          "body": "Shelf first, then the side-by-side comparison. It gives the most complete read and takes respondents the longest."
        },
        "shelfReady": "Shelf ready · {{count}} products",
        "shelfSearching": "Finding competitors…",
        "shelfFailed": "Sourcing failed",
        "shelfDraft": "Shelf not finished",
        "title": "How should people judge them?",
        "subtitle": "Choose how people judge the concepts and how many answer. The other settings have working defaults.",
        "needConcepts": "Generate or upload at least one concept first.",
        "shelfHeading": "Your shelf",
        "openShelf": "Set up the shelf",
        "howMany": "How many people?",
        "howManyHint": "Comparisons stop and the strongest concepts move on once this many people have answered.",
        "next": "Continue to respondents",
        "shelfSearchOff": "Competitor search is off on this server"
      },
      "results": {
        "insights": "Insights",
        "report": "Report",
        "export": "Export"
      },
      "view": {
        "label": "Switch between the studio and the chat",
        "studio": "Studio",
        "chat": "Chat"
      }
    },
    "chat": {
      "aiUnavailable": "AI unavailable. Showing saved data and action status.",
      "attachments": {
        "attach": "Attach images",
        "closeImagePreview": "Close image preview",
        "dropHere": "Drop to attach",
        "imagePreview": "Image preview",
        "limits": "Up to {{count}} images per message · {{size}}MB each · {{formats}}",
        "moveEarlier": "Move {{name}} earlier",
        "moveLater": "Move {{name}} later",
        "openImage": "Open {{name}} full size",
        "placeholderWithImages": "Ask about these images…",
        "rejectedCount": "{{names}}: at most {{count}} images per message.",
        "rejectedFormat": "{{names}}: only {{formats}} images can be read.",
        "rejectedSize": "{{names}}: each image must be under {{size}}MB.",
        "remove": "Remove {{name}}",
        "removeFailed": "Removed from your message, but the uploaded concept could not be deleted. It is still in Concepts.",
        "removeKeptConcept": "Removed from your message. The uploaded concept stays in Concepts because it is already part of this run.",
        "resolveFailure": "Retry or remove the image that failed to upload.",
        "retry": "Retry uploading {{name}}",
        "retryShort": "Retry",
        "uploadFailed": "Upload failed.",
        "uploading": "Uploading {{name}}",
        "waitForUpload": "Waiting for the images to finish uploading…",
        "countUnit": "images",
        "attachWithPack": "Attach images or a brief pack zip",
        "limitsWithPack": "Up to {{count}} images per message · {{size}}MB each · {{formats}} · or one .zip brief pack up to {{packSize}}MB"
      },
      "briefIntro": "I can refine this brief, suggest an audience or style, and help you decide what to test. Tell me what you want to learn.",
      "documents": {
        "listLabel": "Attached documents",
        "onlyDocumentMessage": "Read the attached document and tell me what to do with it.",
        "placeholderWithDocuments": "Ask about the attached document…",
        "remove": "Remove {{name}}",
        "tooLarge": "That paste is {{size}}. The limit for one document is {{limit}}.",
        "tooMany": "You can attach up to {{count}} documents per conversation.",
        "tooMuchTotal": "Attached documents would exceed {{limit}} in total."
      },
      "pack": {
        "listLabel": "Attached brief packs",
        "reading": "Reading…",
        "readFailed": "Could not read that zip.",
        "waitForRead": "Reading the zip…",
        "remove": "Remove {{name}}",
        "contents": "{{briefs}} briefs · {{attachments}} attachments",
        "contentsJobs": "no briefs · {{jobs}} jobs · {{requirements}} requirements",
        "contentsNothing": "nothing this can read",
        "jobsOnly": "No briefs in this one. It is a plan for {{jobs}} jobs across {{workflows}} kinds of work, with {{requirements}} requirements. The briefs themselves are in the brief packs.",
        "manifestMismatch": "This zip's manifest disagrees with the files in it, so it is damaged or was changed. The files that disagree are left out; the brief text is still readable.",
        "pickerLabel": "Briefs in this pack",
        "briefAttachments": "{{count}} refs",
        "workflowUnsupported": "{{workflow}} work, which this cannot run as a concept test",
        "workflowPartial": "{{workflow}} work, which this can only partly run",
        "selectAll": "Select all {{count}}",
        "selectNone": "Clear",
        "useOne": "Use this brief",
        "useMany": "Build {{count}} tests",
        "appliedOne": "{{title}} is now the brief on this test, with {{references}} client references attached as concepts.",
        "appliedMany": "{{title}} is now the brief on this test, with {{references}} client references. {{count}} more concept tests were created for the other briefs.",
        "applyFailed": "The brief could not be applied. Nothing was changed.",
        "unknownSlugs": "These briefs are not in the zip any more: {{slugs}}.",
        "couldNotCreate": "No concept test could be created for: {{titles}}.",
        "unsupportedFiles": "{{names}}: attach images or a .zip brief pack.",
        "rejectedFormat": "{{names}}: only .zip brief packs can be read.",
        "rejectedSize": "{{names}}: a zip must be under {{size}}MB.",
        "rejectedCount": "{{names}}: one zip at a time. Remove the one attached first.",
        "refused": {
          "notAZip": "That file is not a readable zip.",
          "tooLarge": "That zip is {{actual}}MB. The limit is {{limit}}MB.",
          "declaredTooLarge": "That zip unpacks to {{actual}}MB, over the {{limit}}MB this can hold. Nothing was opened.",
          "entryTooLarge": "{{entry}} in that zip is bigger than {{limit}}MB on its own.",
          "suspiciousRatio": "That zip expands {{actual}} times over. Nothing was opened, because a file that compresses that far is usually built to fill a disk.",
          "tooManyEntries": "That zip holds {{actual}} files. The limit is {{limit}}.",
          "pathEscape": "That zip contains a path that points outside itself ({{entry}}), so none of it was opened.",
          "absolutePath": "That zip contains an absolute path ({{entry}}), so none of it was opened.",
          "symlink": "That zip contains a symbolic link ({{entry}}), which is not read here.",
          "unsupportedEntryType": "{{entry}} in that zip is not a plain file, so none of it was opened.",
          "encrypted": "That zip is password protected, so it cannot be read.",
          "pathTooLong": "That zip contains a path too long or too deeply nested to read.",
          "unsupportedMethod": "That zip uses a compression method this cannot read.",
          "unsupportedFormat": "That zip is in a format this cannot read (Zip64 or split across files).",
          "readBudget": "That zip holds more than {{limit}}MB of files to read at once.",
          "corruptEntry": "{{entry}} in that zip does not match its own checksum, so the zip is damaged.",
          "unknown": "That zip could not be read."
        }
      },
      "insufficientCredits": "Not enough credits to send this message. It needs {{breakdown}}.",
      "placeholder": "Paste a brief, or ask about this concept…",
      "threadUnavailable": "Could not load the earlier messages in this conversation. They are safe — reload to try again.",
      "unreachable": "Something went wrong reaching the AI. Try again in a moment.",
      "working": "Working for {{seconds}}s",
      "workingLong": "Still working, {{seconds}}s so far. A long brief takes a minute.",
      "hero": {
        "title": "What are we testing?",
        "subtitle": "Paste a brief of any length, add your images, or describe the idea."
      },
      "enterHint": "Enter sends. Shift and Enter start a new line.",
      "suggestionsLabel": "Suggested prompts",
      "loadingThread": "Reading this conversation…",
      "send": "Send",
      "tools": {
        "updateBrief": "Writing the brief",
        "setConceptCount": "Setting how many concepts",
        "generateVariants": "Generating concepts",
        "setTestMethod": "Choosing how to test",
        "runRespondents": "Running synthetic respondents",
        "publishTest": "Getting the test ready to publish",
        "readDocument": "Reading the attached document",
        "working": "Working on it",
        "outcomeDone": "Done",
        "outcomeFailed": "Failed"
      },
      "resuming": "Still working on your last message. The answer will appear here.",
      "steps": {
        "listLabel": "What the assistant did",
        "running": "running",
        "waiting": "Waiting for your answer",
        "writingAnswer": "Writing the answer",
        "failure": {
          "interrupted": "This step stopped before it reported back.",
          "noReply": "The model returned nothing for this message.",
          "budget": "This reply had already taken as many actions as one turn allows.",
          "alreadyGenerated": "A round of concepts was already made in this reply.",
          "turnDeadline": "This message ran out of the time one turn is allowed."
        }
      },
      "run": {
        "working": "Working on your request",
        "generating": "Making concepts",
        "generatingOf": "Making concepts, {{ready}} of {{requested}} ready",
        "generationFailed": "The concepts could not be made",
        "waitingForRespondents": "Waiting for respondents",
        "respondentProgress": "Collecting answers, {{completed}} of {{all}} finished",
        "resultReady": "The results are ready",
        "resultLeaderOne": "{{letter}} leads on 1 comparison",
        "resultLeader": "{{letter}} leads on {{comparisons}} comparisons"
      },
      "activity": {
        "show": "Show activity",
        "hide": "Hide activity",
        "unnamedStep": "A step of the plan",
        "started": "started",
        "done": "done",
        "failed": "failed"
      },
      "transcriptUnsaved": "This reply could not be saved, so it will not be here after a reload. Copy anything you need.",
      "auto": {
        "title": "Running this end to end",
        "count": "{{done}} of {{total}} steps done",
        "completed": "The whole run is done",
        "alreadyRunning": "This test already has a run going, so your message did not start a second one. Its progress is below, and you can send the message again once it has finished.",
        "slotUnavailable": "I could not start the run — the plan for this test would not save. Nothing has been charged. Please try again, and tell us if it keeps happening.",
        "stopped": "Stopped at: {{stage}}",
        "notReached": "Not reached",
        "showSteps": "Show steps",
        "hideSteps": "Hide steps",
        "deliverables": "Ready for you",
        "stage": {
          "brief": "Reading the brief",
          "concepts": "Making the concepts",
          "method": "Choosing how to test them",
          "respondents": "Running the respondents",
          "score": "Scoring the answers",
          "deliverables": "Putting the deliverables together"
        },
        "stop": {
          "briefEmpty": "There is no brand name or description to design from yet.",
          "notEnoughConcepts": "Fewer than two concepts came out, so there is nothing to compare.",
          "noRespondentRunner": "Respondents cannot be started in this environment.",
          "respondentsFailed": "No respondent finished, so there are no answers to read.",
          "noRanking": "The answers did not produce a ranking.",
          "nothingToHandOver": "There is nothing finished enough to hand over.",
          "outOfTime": "The run reached the time one automatic run is allowed.",
          "stepNotRecorded": "This step could not be saved, so the run stopped rather than working unseen.",
          "stageError": "Something went wrong in this step. Nothing after it was started."
        },
        "deliverable": {
          "conceptsOne": "1 concept, on the Concepts tab",
          "concepts": "{{count}} concepts, on the Concepts tab",
          "rankingOne": "{{name}} leads, on 1 comparison",
          "ranking": "{{name}} leads, on {{comparisons}} comparisons",
          "report": "The full report, with the reasoning behind every answer",
          "csv": "The raw answers as CSV",
          "slides": "A slide deck of the findings",
          "pdf": "The report as a PDF"
        }
      },
      "publish": {
        "action": "Publish the test",
        "pending": "Publishing…"
      },
      "intro": {
        "variants": "Ask which variant is leading, for a summary of one tier, or for five more variants in a given direction.",
        "preview": "Ask about friction in the respondent flow or copy tweaks to make before you distribute.",
        "converge": "Ask which lo-fi variants are ready to promote to hi-fi and why.",
        "distribute": "Ask about share-link strategy, target audience, or what to send in a Slack or email message.",
        "respondents": "Ask who has answered so far: demographic skew, completion rates, or outliers.",
        "report": "Ask what the winning concept is, what the demographic skew looks like, or what to do next.",
        "battery": "Ask for rating dimensions, a follow-up open-ended question, or tighter wording.",
        "ai-chat": "Ask about this concept. Answers use the brief, the variants, and any responses collected so far."
      }
    }
  },
  "surveyEdit": {
    "guidedTask": {
      "enableLabel": "Usability test",
      "enableDescription": "Turn this interview into a moderated walkthrough where the AI guides the participant through ordered steps toward a goal.",
      "targetTypeLabel": "Target type",
      "targetTypeWebsite": "Website",
      "targetTypeApp": "App",
      "targetTypePrototype": "Prototype",
      "targetUrlLabel": "Target URL or link",
      "targetUrlPlaceholder": "https://example.com",
      "openLabelLabel": "Open button label (optional)",
      "openLabelPlaceholder": "e.g. Open T Direct Shop",
      "useTWorld": "Open in T World",
      "appLaunchLabel": "App launch (advanced)",
      "appLaunchHint": "Launch the installed app directly on the participant's phone. Leave blank to open the URL normally.",
      "androidPackageLabel": "Android package",
      "iosSchemeLabel": "iOS URL scheme",
      "iosAppStoreIdLabel": "App Store ID",
      "stepsLabel": "Steps",
      "stepsDescription": "Order the steps the participant should complete. Each step is either authored or improvised by the AI.",
      "stepLabel": "Step {{number}}",
      "actionLabel": "Action",
      "actionNavigate": "Navigate",
      "actionClick": "Click",
      "actionType": "Type",
      "actionDrag": "Drag",
      "actionScroll": "Scroll",
      "actionCustom": "Custom",
      "instructionLabel": "Instruction",
      "instructionPlaceholder": "Tell the participant what to do",
      "targetLabel": "Target (optional)",
      "targetPlaceholder": "URL, page name, or element",
      "modeLabel": "Let the AI decide this step",
      "modeProcedural": "Procedural",
      "modeAiDecide": "AI decides",
      "aiPromptLabel": "AI goal",
      "aiPromptPlaceholder": "Describe the goal the AI should improvise toward",
      "moveUp": "Move step up",
      "moveDown": "Move step down",
      "deleteStep": "Remove step",
      "addStep": "+ Add step",
      "maxStepsReached": "You've reached the maximum of {{max}} steps.",
      "emptySteps": "No steps yet. Add the first step to start the walkthrough.",
      "stuckThresholdLabel": "Stuck timeout",
      "stuckThresholdHelp": "Flag a step as stuck after this many seconds, then auto-continue.",
      "stuckThresholdSuffix": "seconds",
      "faqTitle": "How usability tests work",
      "faqWatch": "The AI watches the shared screen and advances automatically when it detects the step is done.",
      "faqIDidIt": "The participant can also tap \"I did it\" to move on at any time.",
      "faqStuck": "A step stuck beyond the timeout is flagged for review and the walkthrough auto-continues.",
      "faqDetection": "Detection works on websites and apps, but the AI can't read inside other apps — it relies on what the screen shows.",
      "sectionLabel": "Usability test",
      "interventionModeLabel": "Moderator style",
      "interventionSilent": "Silent observer",
      "interventionSilentHint": "The AI reads each task, then watches quietly — it only speaks to advance or debrief.",
      "interventionLightTouch": "Coach",
      "interventionLightTouchHint": "The AI reads each task, then guides the participant step by step, answers their questions, and moves on when they say they're done.",
      "autoAdvanceWebTasksLabel": "Auto-open the next website task",
      "autoAdvanceWebTasksHint": "When a website task is finished, automatically move to the next task and open its site. Only applies to website tasks that open inside the study.",
      "autoOpenTaskWebsiteLabel": "Open the task website automatically",
      "autoOpenTaskWebsiteHint": "When a website task starts, open its site automatically so the participant doesn't have to tap to begin. They can still open it by hand. Only applies to website tasks that open inside the study.",
      "preloadTaskWebsitesLabel": "Preload task pages",
      "preloadTaskWebsitesHint": "Load the upcoming task pages in the background so they're ready the moment they open. Uses extra data.",
      "desktopRecordLocalLabel": "Let desktop participants record their own screen",
      "desktopRecordLocalHint": "On a desktop browser the participant records their screen, watches the recording, then submits it. There is no live AI moderator. Phones are unaffected.",
      "tasksLabel": "Tasks",
      "tasksDescription": "A usability test is a sequence of timed tasks. The AI reads each scenario aloud, observes, debriefs, then advances.",
      "taskOrderLabel": "Order",
      "taskOrderFixed": "Fixed",
      "taskOrderRandomized": "Randomized",
      "taskOrderFixedHint": "Participants see tasks in the order below.",
      "taskOrderRandomizedHint": "Each participant gets a counterbalanced order. Reports always use the order shown here.",
      "stepOrderLabel": "Step order",
      "stepOrderFixed": "Fixed",
      "stepOrderRandomized": "Randomized",
      "stepOrderFixedHint": "Each task's steps are shown in the order below.",
      "stepOrderRandomizedHint": "Caution: each participant gets a different step order per task. Most step sequences are order-dependent — only randomize when the steps are truly independent. Reports still use the authored order.",
      "transitionsLabel": "Transition phrases",
      "transitionFirstLabel": "First task",
      "transitionMiddleLabel": "Middle tasks — variants rotate so repeats don't sound identical",
      "transitionMiddleAddVariant": "+ Add variant",
      "transitionMiddleRemoveVariant": "Remove variant",
      "transitionMiddleMaxVariants": "Up to {{max}} middle variants.",
      "transitionLastLabel": "Last task",
      "transitionsHint": "Added to the start of a scenario based on where the task lands for each participant. Middle variants are used in order and recycled when there are more middle tasks than variants, so write each one to fit any middle slot — no ordering words like \"lastly\" or \"third\". Leave blank for no phrase.",
      "transitionsPreviewTitle": "What participants hear — your {{total}} tasks, any order",
      "transitionsPreviewNoPhrase": "(no phrase)",
      "transitionsPreviewRecycles": "variants recycle",
      "transitionsPreviewWarmUp": "A warm-up task stays first and gets no phrase.",
      "taskLabel": "Task {{number}}",
      "untitledTask": "Untitled task",
      "addTask": "+ Add task",
      "deleteTask": "Remove task",
      "moveTaskUp": "Move task up",
      "moveTaskDown": "Move task down",
      "maxTasksReached": "You've reached the maximum of {{max}} tasks.",
      "emptyTasks": "No tasks yet. Add the first task to start the usability test.",
      "taskTitleLabel": "Task name (optional)",
      "taskTitlePlaceholder": "e.g. Change billing date",
      "scenarioLabel": "Scenario",
      "scenarioPlaceholder": "Read aloud at task start, e.g. \"Imagine you want to change your billing date to the 15th. Show me how you'd do that.\"",
      "scenarioSiteHint": "Tip: name the target site in the scenario (e.g. \"On SKT T world…\"). The moderator reads this aloud but never says the URL, so it's how participants know which site each task is for.",
      "scenarioSiteMissingHint": "Your scenario doesn't mention {{site}}. Name the site so participants don't run the task on the wrong one.",
      "timeBudgetLabel": "Time budget",
      "timeBudgetHelp": "Soft cap for this task before it wraps up.",
      "timeBudgetSuffix": "seconds",
      "minTimeLabel": "Minimum time",
      "minTimeHelp": "The task can't be completed before this. Can't exceed the time budget.",
      "minTimeSuffix": "seconds",
      "postTaskQuestionsLabel": "Debrief questions",
      "postTaskQuestionsDescription": "Asked after the participant finishes this task.",
      "postTaskQuestionPlaceholder": "e.g. How easy or hard was that?",
      "addPostTaskQuestion": "+ Add question",
      "removePostTaskQuestion": "Remove question",
      "maxPostTaskQuestions": "Up to {{max}} debrief questions per task.",
      "wrapUpQuestionsLabel": "Wrap-up questions (asked at the end)",
      "wrapUpQuestionsDescription": "Asked once after the last task, never on earlier tasks. Ideal for cross-task comparison — e.g. \"Comparing the two sites you just used, which was easier?\" — which would land on the wrong task if added as a per-task debrief question under randomized order.",
      "wrapUpQuestionPlaceholder": "e.g. Comparing both sites, which did you prefer and why?",
      "addWrapUpQuestion": "+ Add wrap-up question",
      "removeWrapUpQuestion": "Remove wrap-up question",
      "maxWrapUpQuestions": "Up to {{max}} wrap-up questions.",
      "warmUpLabel": "Practice / warm-up task",
      "warmUpHint": "Runs normally but is excluded from aggregate metrics.",
      "webEmbedLabel": "Open the website inside the study",
      "webEmbedHint": "Respondents stay in the survey or app instead of switching to a new tab. On phones the site opens full screen inside the app while recording continues. Some sites do not allow embedding and will fall back to opening normally.",
      "usabilityPanelTitle": "Usability behavior",
      "thinkAloudRepromptLabel": "Think-aloud reprompt",
      "thinkAloudRepromptHint": "Neutral \"keep talking\" nudge on silence. Default: on.",
      "thinkAloudSilenceLabel": "Silence before nudge",
      "thinkAloudSilenceHint": "Seconds of silence before the think-aloud nudge fires. Default: 20.",
      "thinkAloudSilenceSuffix": "seconds",
      "helpResponseModeLabel": "When the participant asks for help",
      "helpResponseModeHint": "How the moderator answers an explicit help request. Default: deflect.",
      "helpDeflect": "Deflect (neutral redirect)",
      "helpMinimalAnswer": "Minimal answer",
      "helpNone": "Don't respond",
      "postTaskSeqLabel": "Single Ease Question",
      "postTaskSeqHint": "Ask the 1-7 ease rating after each task. Default: on.",
      "minTimeModeLabel": "Too-fast completions",
      "minTimeModeHint": "Flag for data quality, or block until the floor. Default: flag.",
      "minTimeFlag": "Flag",
      "minTimeBlock": "Block",
      "allowAbandonLabel": "Allow skipping a task",
      "allowAbandonHint": "Shows a \"Skip task\" button and lets the participant say \"skip\" or \"move on\" out loud to leave a task they're stuck on, so they're never blocked. Default: on.",
      "reassuranceIntroLabel": "Reassurance intro",
      "reassuranceIntroHint": "Prepend \"we're testing the design, not you\" to the opening. Default: on.",
      "moderatorPromptLabel": "Moderator prompt",
      "moderatorPromptHint": "View the default moderation prose or edit a custom version.",
      "moderatorPromptView": "View default",
      "moderatorPromptEdit": "Edit custom",
      "moderatorPromptReset": "Reset to default",
      "moderatorPromptModalTitle": "Moderator prompt",
      "moderatorPromptModalDescription": "When set, the AI follows this exact moderation prose instead of the generated default.",
      "moderatorPromptPlaceholder": "Write the exact moderation instructions the AI should follow…",
      "moderatorPromptSave": "Save",
      "estimatedSessionLength": "Estimated session length ≈ {{minutes}} min",
      "sessionLengthWarning": "this may run long. Aim under {{minutes}} min so respondents don't drop off.",
      "sessionBudgetOverrun": "Your guided tasks add up to {{budget}} min of task time, but the interview is limited to {{session}} min — participants will be wrapped up early and later tasks may be skipped. Increase the interview duration or shorten the task time limits.",
      "maxTimeLabel": "Maximum time (auto-advances if exceeded)",
      "maxTimeHelp": "Hard cap, not an expected duration. The task auto-advances once this is reached.",
      "moderatorPromptGuidanceNote": "General guidance only, not the exact runtime prompt. The agent runs a per-task prompt compiled from each task's scenario, steps, and timing."
    }
  },
  "repeatFromDataRuntime": {
    "trialPosition": "Trial {{current}} of {{total}}",
    "studyImageAlt": "Study image",
    "imageUnavailable": "Image unavailable"
  },
  "analysisPlan": {
    "rowTitle": "Analysis",
    "settingsTitle": "Analysis plan",
    "settingsIntro": "How answers will be read: what the study is for, what to look for in each open question, and which groups to compare. Changes apply to answers coded from now on; codebooks you've already started stay as they are.",
    "loading": "Preparing your analysis plan…",
    "loadFailed": "The analysis plan could not load. You can set it later in Settings → Analysis.",
    "loadFailedShort": "The analysis plan could not load. Try again later.",
    "prefilling": "Suggesting…",
    "review": "Review",
    "prefilledNote": "Pre-filled from your survey goal. Publishing confirms it; you can change it later in Settings → Analysis.",
    "defaultNote": "Publishing confirms this plan; you can change it later in Settings → Analysis.",
    "notConfirmed": "(not confirmed yet: publishing or saving confirms it)",
    "decisionTitle": "What decision will this study inform?",
    "decisionHint": "The report is framed around this, and findings are ranked by how much they bear on it.",
    "decisionPlaceholder": "For example: which retention offer to test first",
    "untitled": "Untitled question",
    "lookFor": "Look for",
    "lens": {
      "reasons": "Reasons",
      "problems": "Problems",
      "suggestions": "Suggestions",
      "reactions": "Reactions",
      "open": "Anything notable"
    },
    "modeLabel": "How themes are found",
    "mode": {
      "emergent": "Let themes emerge",
      "starter": "Start from these, add new ones",
      "fixed": "Only these themes"
    },
    "addTheme": "Add a theme",
    "addThemeButton": "Theme",
    "addThemePlaceholder": "Add a theme, then press Enter",
    "removeTheme": "Remove theme {{name}}",
    "fixedNeedsThemes": "Add at least one theme, or let themes emerge.",
    "groupsTitle": "Compare these groups",
    "groupsHint": "Groups chosen before fieldwork count as planned comparisons. Anything you compare later is labelled exploratory and corrected for multiple testing.",
    "demographicHint": "From your panel, when it provides it",
    "autoCodingTitle": "Code answers automatically",
    "autoCodingHint": "Off if you'd rather code everything yourself in the Themes workbench.",
    "save": "Save plan",
    "saved": "Analysis plan saved",
    "saveFailed": "The analysis plan could not be saved."
  },
  "resultsV2": {
    "tabs": {
      "report": "Report",
      "questions": "Questions",
      "responses": "Responses"
    },
    "showing": "Showing",
    "tools": "Tools",
    "themesWorkbench": "Themes workbench",
    "stats": "Stats",
    "ask": "Ask",
    "askAboutQuestion": "Ask",
    "closeAsk": "Close Ask",
    "threads": "Threads",
    "newThread": "New thread",
    "newThreadWithShowing": "New thread with this Showing",
    "threadScopeDiffers": "This thread keeps its original Showing.",
    "backToResults": "Back to results",
    "aiTestRuns": "AI test runs",
    "allVersions": "All versions",
    "active": "active",
    "excludeFlagged": "Excluding flagged",
    "includeFlagged": "Including flagged",
    "anyStatus": "Any status",
    "completed": "Completed",
    "inProgress": "In progress",
    "abandoned": "Abandoned",
    "completedLockedHint": "Report, Questions and Ask count completed responses.",
    "reset": "Reset",
    "responseCount_one": "{{count}} response on every view",
    "responseCount_other": "{{count}} responses on every view",
    "responseCountPastLimit_one": "Numbers include all {{count}} response; only {{visible}} can be read individually on your plan.",
    "responseCountPastLimit_other": "Numbers include all {{count}} responses; only {{visible}} can be read individually on your plan.",
    "completionRateNeedsNoDates": "Clear the dates to see it",
    "reportScopeGaps": "Not applied to this report yet: {{parts}}.",
    "scopePart": {
      "fraud": "excluding flagged responses",
      "version": "the version",
      "wave": "the wave",
      "dates": "the dates",
      "segment": "the segment"
    },
    "oneVersion": "One version",
    "oneWave": "One wave",
    "widenedForResponse": "Showing widened to include this response.",
    "restoreShowing": "Restore",
    "flaggedLabel": "Flagged responses",
    "versionLabel": "Version",
    "statusLabel": "Status",
    "responseCountWithheld": "Fewer than 5 responses, some past your plan's view limit: figures are withheld to protect them."
  },
  "analysisChat": {
    "title": "Chat with your data",
    "description": "Ask questions about your survey responses and get instant AI-powered insights.",
    "newChat": "New Chat",
    "searchChats": "Search chats",
    "searchChatsEllipsis": "Search chats…",
    "noSearchResults": "No chats match your search.",
    "noChats": "No chats yet. Start a new chat.",
    "loadMore": "Load more chats",
    "justNow": "just now",
    "composerLabel": "Chat message",
    "composerPlaceholder": "Ask anything about your survey responses…",
    "send": "Send",
    "thinking": "Thinking…",
    "replyReady": "Assistant response ready.",
    "loadingConversation": "Loading conversation…",
    "citationCount_one": "{{count}} Citation",
    "citationCount_other": "{{count}} Citations",
    "citationCountLower_one": "{{count}} citation",
    "citationCountLower_other": "{{count}} citations",
    "closeCitations": "Close citations",
    "prompts": {
      "themes": "What are the main themes in responses?",
      "segments": "How do segments compare on key questions?",
      "summary": "Write an executive summary memo",
      "contradictions": "Find contradictions between participants",
      "quotes": "Show compelling quotes",
      "presentation": "Build a presentation with key insights"
    },
    "questionPrompts": {
      "themes": "What are the main themes in answers to this question?",
      "groups": "How do groups differ on this question?",
      "quotes": "Show compelling quotes for this question",
      "surprises": "What is surprising in these answers?"
    },
    "aboutQuestion": "About: {{question}}",
    "filters": {
      "button": "Filters",
      "locked": "Filters fixed for this chat",
      "lockedHint": "Start a new chat to change filters",
      "responseType": "Response type",
      "both": "Both",
      "real": "Real",
      "synthetic": "Synthetic",
      "quality": "Quality",
      "excludeSuspicious": "Exclude suspicious responses",
      "segmentBy": "Segment by",
      "segmentField": "Segment field",
      "none": "— None —",
      "age": "Age",
      "gender": "Gender",
      "employmentStatus": "Employment Status",
      "nationality": "Nationality",
      "custom": "Custom",
      "customField": "Custom demographic field",
      "customFieldPlaceholder": "Custom demographic field name (e.g. country_of_birth)",
      "segmentValues": "Segment values",
      "segmentValuesPlaceholder": "Values, comma-separated (e.g. Female, Male — age accepts ranges like 18-24)",
      "responseDate": "Response date",
      "from": "From",
      "to": "To",
      "questionScope": "Question scope",
      "noQuestions": "No analyzable questions found.",
      "questionScopeHint": "Leave every question unchecked to analyze all.",
      "realOnly": "Real only",
      "syntheticOnly": "Synthetic only",
      "includingSuspicious": "Including suspicious",
      "questionsScoped_one": "{{count}} question scoped",
      "questionsScoped_other": "{{count}} questions scoped",
      "remove": "Remove {{label}} filter",
      "labels": "Labels",
      "labelsLoading": "Loading labels...",
      "labelsError": "Labels could not be loaded.",
      "noLabels": "Add respondent labels in the Responses tab to analyze a subset.",
      "labelInclude": "Only",
      "labelExclude": "Exclude",
      "labelsHint": "Only keeps responses with any chosen label. Exclude overrides Only.",
      "labeledChip": "Labeled",
      "notLabeledChip": "Not labeled",
      "labelsUnknown_one": "{{count}} label",
      "labelsUnknown_other": "{{count}} labels",
      "errors": {
        "customField": "Enter a custom demographic field before sending.",
        "segmentValue": "Enter at least one segment value before sending.",
        "tooManyLabels": "Choose fewer labels for each option."
      }
    },
    "errors": {
      "historyStatus": "Message history request failed ({{status}})",
      "history": "Could not load this conversation.",
      "create": "Could not create this chat. Please try again.",
      "noMatchingResponses": "No responses match these filters. Change them and try again.",
      "generic": "Something went wrong. Please try again.",
      "credits": "You don’t have enough credits to send this message.",
      "topUp": "Top up your account to continue.",
      "inProgress": "This chat is already generating a response.",
      "failed": "The analysis failed. Your credits were refunded; please retry.",
      "refunded": "Your credits were refunded.",
      "interrupted": "The connection was interrupted. Retry to resume this same saved request safely.",
      "connection": "Connection error. Please try again.",
      "list": "Chat list request failed ({{status}})",
      "loadChats": "Could not load chats.",
      "loadChatStatus": "Chat request failed ({{status}})",
      "loadChat": "Could not load this chat.",
      "scopeWithheld": "This scope has fewer than 5 responses, and some are past your plan's view limit, so Ask can't report on it without identifying someone. Start a new chat with a wider scope."
    },
    "artifacts": {
      "verified": "verified",
      "response": "Response",
      "viewResponse": "View response",
      "base": "Base: N={{count}}",
      "directional": "directional",
      "directionalHint": "Base under 30: treat as directional, not a finding",
      "segmentOption": "Share choosing \"{{option}}\", by {{segment}}",
      "significant": "Difference across segments is statistically significant (chi-square, {{p}})",
      "notSignificant": "No statistically significant difference across segments (chi-square, {{p}})",
      "themeCoverage": "Shares of {{coded}} coded responses out of {{answered}} answers",
      "stale": "Coding out of date"
    },
    "narration": {
      "factBase": "{{n}} of {{base}} {{baseLabel}}",
      "testDetail": "Chi-square across groups, {{p}}, df {{df}}",
      "verified": "Computed from the responses, not written by the AI",
      "openQuote": "Open source response {{index}}",
      "followups": "Ask next"
    }
  },
  "surveyTrash": {
    "questionDeleted": "Question deleted",
    "questionsDeleted_one": "{{count}} question deleted",
    "questionsDeleted_other": "{{count}} questions deleted",
    "sectionDeleted": "Section deleted",
    "undo": "Undo",
    "restored": "Restored",
    "restoreFailed": "Couldn't restore. Try Version History instead.",
    "recentlyDeleted": "Recently deleted",
    "restore": "Restore",
    "empty": "Nothing deleted recently.",
    "questionCount": "{{count}} questions",
    "deletedAfter": "Deleted {{date}}"
  },
  "panelDemographicNotice": {
    "studyNotStarted": "Study not started",
    "leftTitle": "You left this study",
    "leftDescription": "No survey response was started. You can close this tab or return to your panel provider.",
    "returnToProvider": "Return to SampleNinja",
    "beforeBegin": "Before you begin",
    "title": "How this study uses your panel details",
    "studyLabel": "Study: {{title}}",
    "demographicUse": "Panel profile details selected by this study, such as age, gender, or region, may be recorded as survey answers and may be used for study quotas and branching.",
    "identityUse": "Your panel identifier and entry session are used to prevent duplicate responses and reconcile completion with your panel provider.",
    "learnMore": "Learn more in the",
    "questionPunkPrivacy": "QuestionPunk privacy information",
    "and": "and",
    "providerPrivacy": "SampleNinja privacy policy.",
    "leave": "Leave study",
    "continue": "Continue to survey",
    "notStartedUntilContinue": "The survey will not start until you choose Continue to survey."
  },
  "panelSettings": {
    "title": "Panel integration",
    "description": "Redirect respondents to your sample provider with a signed exit status when they finish or are screened out.",
    "enableTitle": "Enable panel integration",
    "enableDescription": "When on, completed respondents are redirected to the provider's signed exit URL.",
    "enableAria": "Enable panel integration",
    "baseUrlGuidance": "Your SampleNinja installation's exit endpoint, usually https://yourcompany.panelservice.io/p/exit. Enter the base URL only — the server adds ?s=<status>&session=&hash= at finish time. The shared secret and algorithm must exactly match your SampleNinja project's exit-link settings, or the hash won't validate.",
    "redirectGuidance": "Configure the redirect here — do not put the exit URL in a Page end-screen redirect. That path cannot inject the live status, session, or hash.",
    "statusGuideTitle": "How each exit status is reached",
    "statusHeader": "Status",
    "setupHeader": "How you set it up",
    "qualityHeader": "Quality score",
    "impactNo": "no impact",
    "impactDecrements": "decrements",
    "statusGuidePreview": "Preview the signed URL for every status with “Test panel wiring” below.",
    "statusGuide": {
      "complete": "The respondent reaches the end of the survey.",
      "screenout": "Use question logic to send a disqualifying answer to an End screen set to “Screen-out”.",
      "quota": "Set a quota in Availability & Limits → Quotas; sent once that answer has enough completes.",
      "quality": "Usually automatic: poor-quality answers (speeding, pasted text) get flagged after the survey. Hand those flags back to SampleNinja with the “Download panel reconciliation (CSV)” link below so they can lower the panelist's quality score. You can also route a question to an End screen set to “Quality”.",
      "duplicate": "Automatic — the same panelist re-enters after completing once.",
      "security": "Turn on “Validate entry signature” below; sent when an entry hash fails.",
      "nonActionable": "Automatic — the survey is archived, closed, or not yet open."
    },
    "provider": "Provider",
    "exitBaseUrl": "Exit base URL",
    "signingMode": "Signing mode",
    "fullUrlRecommended": "Full URL (recommended)",
    "legacy": "Legacy",
    "hashAlgorithm": "Hash algorithm",
    "algorithmSha256FullUrl": "SHA-256 Full URL (recommended)",
    "algorithmSha1FullUrl": "SHA-1 Full URL",
    "algorithmMd5FullUrl": "MD5 Full URL (weak)",
    "md5Weak": "MD5 (weak)",
    "legacyUnsupported": "Legacy signing cannot verify entry links. Choose Full URL before enabling this integration.",
    "legacyAcknowledgement": "Legacy signing can't be verified with SampleNinja's calculator and must be tested against the live project. I've validated it.",
    "panelistParam": "Panelist ID param",
    "sessionParam": "Entry session param",
    "hashParam": "Hash param",
    "sharedSecret": "Shared secret",
    "secretSetPlaceholder": "•••••• (set)",
    "secretEnterPlaceholder": "Enter the provider shared secret",
    "secretKeep": "Leave blank to keep the current encrypted secret.",
    "secretPrivacy": "Saved encrypted and never returned to the browser.",
    "legacyBlocked": "Acknowledge the legacy signing warning to save.",
    "validateSignature": "Validate every panel entry signature (required)",
    "signatureGuidance": "Rejects forged or tampered panel identity and demographic values before any response is created. Configure SampleNinja to sign entry links with this shared secret, then test the link before enabling.",
    "signatureRequired": "Entry signature validation must be on before this integration can be saved.",
    "entryLinkTitle": "Entry link for your SampleNinja project",
    "entryLinkCopy": "Copy",
    "entryLinkCopied": "Copied",
    "entryLinkCopyAria": "Copy the survey entry link",
    "entryLinkStepPaste": "Paste this link as the survey URL in SampleNinja (Edit project → Survey links → Entry link). SampleNinja appends the panelist ID and session to it.",
    "entryLinkStepSign": "Turn on entry link hashing in that project with {{algorithm}} Full URL and this shared secret, using the parameter names {{pid}} (panelist ID), {{session}} (session) and {{hash}} (hash). Unsigned or altered entry links are turned away with the security status.",
    "entryLinkStepExit": "Set the exit links in the same project to {{algorithm}} Full URL with the same secret. QuestionPunk returns the session in the session parameter.",
    "entryLinkStepNoLang": "Do not add a lang variable to the SampleNinja link. QuestionPunk chooses the survey language itself.",
    "demographicTitle": "Demographic mapping",
    "privacyTitle": "Respondent privacy notice",
    "privacyDescription": "Panel respondents see a notice that mapped panel profile details may be reused and must choose Continue before the survey runtime or tracking starts. Keep the mapping limited to fields needed for this study and explain its purpose in your recruitment notice.",
    "saving": "Saving panel settings…",
    "saveError": "Panel settings were not saved. Fix the error or try again.",
    "saved": "Panel settings saved.",
    "reviewAndSave": "Review and save your changes.",
    "completeRequired": "Complete the required fields to save.",
    "upToDate": "Panel settings are up to date.",
    "saveButton": "Save panel settings",
    "saveRequirements": "Complete all required panel fields, add a shared secret, and enable entry signature validation before saving.",
    "errors": {
      "exitUrlRequired": "Exit base URL is required",
      "exitUrlInvalid": "Enter a valid HTTPS exit URL on an approved SampleNinja domain",
      "paramInvalid": "Use a valid parameter name",
      "paramsDistinct": "Panel parameter names must be different",
      "paramReserved": "This name is reserved for panel or survey routing",
      "secretRequired": "A shared secret is required before enabling"
    },
    "demographic": {
      "description": "Map an inbound panel param onto a question so its value is recorded as an answer (filling quotas or driving branching) without re-asking. Mapped questions placed at the start of the survey are skipped automatically.",
      "none": "No mappings.",
      "noEligibleQuestion": "This survey has no question a panel demographic can fill. Add a text, number, scale, rating, multiple-choice, or dropdown question first.",
      "incomplete_one": "1 mapping has no question selected (its question may have been deleted). Pick a question or remove the mapping — panel settings will not save until then.",
      "incomplete_other": "{{count}} mappings have no question selected (their questions may have been deleted). Pick a question or remove each mapping — panel settings will not save until then.",
      "nonLeading_one": "1 mapped question is not at the very start of the survey because another item comes first. It will be asked normally, and quota screening at panel entry will not apply to it. Move it to the top to skip it for panelists.",
      "nonLeading_other": "{{count}} mapped questions are not at the very start of the survey because another item comes first. They will be asked normally, and quota screening at panel entry will not apply to them. Move them to the top to skip them for panelists.",
      "questionFallback": "Question {{number}}",
      "panelParam": "Panel param",
      "removeMapping": "Remove mapping for {{param}}",
      "question": "Question",
      "noAcceptedQuestion": "No question accepts this mapping",
      "selectQuestion": "Select a question…",
      "mapsAs": "Maps as",
      "kindChoice": "Choice (option)",
      "kindNumber": "Number / age",
      "kindText": "Text",
      "numberHandling": "Number handling",
      "plainInteger": "Plain integer",
      "birthDateToAge": "Birth date → age",
      "add": "Add demographic mapping",
      "validParam": "Enter a valid parameter name",
      "uniqueParam": "Each demographic parameter name must be unique",
      "reservedParam": "This name is reserved for panel or survey routing",
      "codingTitle": "Panel value → answer option",
      "codingEmpty": "Pick a single-select question with options.",
      "panelValuePlaceholder": "panel value",
      "optionPlaceholder": "option",
      "removeCoding": "Remove coding for {{value}}",
      "addValue": "+ Add value"
    }
  },
  "guestSession": {
    "settingUp": "Setting up your template…",
    "editorBanner": "You're trying QuestionPunk as a guest — your work is temporary until you sign up.",
    "editorBannerCta": "Sign up free — keep my work",
    "editorBannerWithExpiry": "You're trying QuestionPunk as a guest — this work is saved here for {{days}} more days, then it's gone.",
    "templateStartFailed": "We couldn't open that template. Please try again.",
    "signUpModal": {
      "publishTitle": "Create a free account to publish",
      "publishBody": "You've been building as a guest. Sign up free and this survey — every question, every edit — moves to your account so you can send it out and collect responses.",
      "aiTitle": "Create a free account to build with AI",
      "aiBody": "Guest sessions can edit templates, but building a survey from scratch with AI needs a free account. Anything you have already built comes with you.",
      "genericTitle": "Create a free account to continue",
      "genericBody": "That one needs a real account. Sign up free — the work you've done as a guest moves over with you.",
      "confirm": "Create free account",
      "dismiss": "Keep editing as a guest",
      "downloadTitle": "Create a free account to download",
      "downloadBody": "Your design is saved. Sign up free and it moves to your account, then your download starts.",
      "designAiTitle": "Create a free account to design with AI",
      "designAiBody": "Guest sessions can build and edit a board by hand. Generating and editing artwork with AI needs a free account. Your board comes with you.",
      "dismissDesign": "Keep designing as a guest",
      "sentTitle": "Check your inbox",
      "sentBody": "We emailed a sign-in link to {{email}}. Open it and your survey — everything you built here — moves into your new account.",
      "differentEmail": "Use a different email",
      "errorBody": "We couldn't send the sign-in email. Your work is still saved — continue on the sign-up page and it will transfer to your account.",
      "errorBodySignIn": "We couldn't send the sign-in email. Your work is still saved — sign in and it will transfer to your account.",
      "errorCta": "Continue to sign-up",
      "errorCtaSignIn": "Continue to sign-in",
      "startFailed": "Something went wrong — please try again.",
      "desktopTitle": "Finish this on your computer",
      "desktopBody": "We'll email you a link that opens this survey in your free account on any computer.",
      "desktopConfirm": "Email me the link"
    },
    "chatCard": {
      "body": "Publishing sends your survey to real people, so it needs a free account. Everything you have built here moves over with you."
    },
    "settingUpStudio": "Setting up your editor",
    "studioBanner": "You're designing as a guest. Your work is temporary until you sign up.",
    "studioBannerWithExpiry": "Your work is saved here for {{days}} more days. Create a free account to keep it.",
    "studioBannerCta": "Create free account",
    "studioStartFailedTitle": "The editor could not open",
    "studioStartFailedBody": "Setting up your workspace did not finish. Try again, or pick a dieline from the library.",
    "studioStartFailedRetry": "Try again",
    "studioStartFailedLibrary": "Browse dielines",
    "studioProjectNeedsAccountTitle": "Sign in to open this design",
    "studioProjectNeedsAccountBody": "This link points at a design saved in an account. Sign in to open it, or start a new design instead.",
    "studioProjectNeedsAccountNew": "Start a new design",
    "start": {
      "title": "Your template is ready",
      "body": "Open it in the editor and make it yours — no account needed.",
      "cta": "Start editing",
      "signInInstead": "I already have an account",
      "retry": "Try again",
      "signUpInstead": "Create an account instead"
    },
    "editorBannerDesktopCta": "Finish on my computer"
  },
  "panelWorkspace": {
    "common": {
      "cancel": "Cancel",
      "tryAgain": "Try again"
    },
    "shell": {
      "eyebrow": "QuestionPunk Panel",
      "title": "Participant workspace"
    },
    "withdrawal": {
      "status": "Membership withdrawn",
      "sectionTitle": "Leave the QuestionPunk Panel",
      "sectionBody": "You can leave at any time. This stops future matching without erasing work or rewards already in progress.",
      "openConfirmation": "Withdraw from the panel",
      "confirmTitle": "Withdraw your panel membership?",
      "confirmBody": "This takes effect immediately and cannot be undone from this screen.",
      "effectInvites": "Invitations you have not started will close. Work already started can still be completed.",
      "effectMatching": "Your answers are removed from active matching, so you will not receive new studies.",
      "effectRetention": "Activity, payment records, immutable profile history, and contact details needed for payment, audit, safety, and legal obligations are retained.",
      "confirmAction": "Withdraw membership",
      "withdrawing": "Withdrawing…",
      "error": "We could not withdraw your membership. Please try again.",
      "noticeTitle": "Your panel membership is withdrawn",
      "noticeBody": "You will not receive new studies. Your activity and any review or payment still in progress remain available below.",
      "restrictedTitle": "Studies and profile editing are no longer available",
      "restrictedBody": "Your membership is withdrawn, so you cannot view or start studies or change matching answers. Activity and payment history remain available.",
      "viewActivity": "View activity and payments",
      "contactSupport": "Contact support"
    },
    "suspension": {
      "status": "Membership paused",
      "noticeTitle": "Your panel membership is paused",
      "noticeBody": "You cannot take new studies while your membership is reviewed. Your activity and any review or payment already in progress remain available below.",
      "restrictedTitle": "Studies and profile editing are paused",
      "restrictedBody": "You cannot view or start studies or change matching answers while your membership is paused. Activity and payment history remain available."
    },
    "servicing": {
      "status": "Panel maintenance",
      "noticeTitle": "New panel activity is temporarily paused",
      "noticeBody": "You can still review completed work and any payment already in progress. New studies and profile changes will return when panel access is reopened.",
      "restrictedTitle": "New studies are temporarily unavailable",
      "restrictedBody": "QuestionPunk Panel is not accepting profile changes or new study starts right now. Your activity and payment history remain available."
    },
    "nav": {
      "ariaLabel": "Panel workspace",
      "studies": "Studies",
      "profile": "Profile",
      "activity": "Activity"
    },
    "gate": {
      "title": "Panel access is not available yet",
      "pending": "Your profile is being reviewed. We will let you know when you can start taking part in paid studies.",
      "suspended": "Your panel membership is paused. Contact support if you would like us to review what happened.",
      "rejected": "We cannot offer panel access right now. Contact support if you think we should take another look.",
      "withdrawn": "This panel membership has been withdrawn. Activity and payment history remain available.",
      "missing": "We could not find an active panel membership for this account. Start or continue your application from the participation page.",
      "participate": "Go to participation",
      "support": "Contact support"
    },
    "studies": {
      "title": "Studies",
      "subtitle": "Choose work that fits your time and device. You will always see the expected reward before you start.",
      "countAll": "{{total}} shown · {{eligible}} ready to start",
      "countEligible_one": "{{count}} study ready to start",
      "countEligible_other": "{{count}} studies ready to start",
      "showUnavailable": "Show unavailable",
      "reward": "Reward",
      "time": "Time",
      "devices": "Works on",
      "minutes_one": "{{count}} min",
      "minutes_other": "{{count}} min",
      "toBeConfirmed": "To be confirmed",
      "deviceFits": "This study works on your current device",
      "deviceDoesNotFit": "Open this study on one of the listed devices",
      "privacy": "Your profile is used only to check fit and avoid unnecessary screening",
      "start": "Start study",
      "completeEligibility": "Complete eligibility",
      "useListedDevice": "Use a listed device",
      "updateProfile": "Update profile",
      "opening": "Opening…",
      "notForMe": "Not for me",
      "completedNote": "You already completed this study. Its payment status is available in Activity.",
      "expiredNote": "This study is no longer accepting responses.",
      "declinePrompt": "Why are you passing on this study?",
      "declinePrivacy": "This helps us improve future matches. Your response is not shared with the researcher.",
      "chooseReason": "Choose a reason",
      "decline": "Decline study",
      "declining": "Declining…",
      "emptyTitle": "No studies are ready right now",
      "emptyBody": "New work appears as researchers recruit participants. Keeping your profile current helps us find the right fit.",
      "reviewProfile": "Review profile",
      "loading": "Finding studies for you…",
      "device": {
        "desktop": "Desktop",
        "mobile": "Mobile",
        "tablet": "Tablet"
      },
      "status": {
        "eligible": "Ready to start",
        "completed": "Completed",
        "expired": "Expired",
        "notMatched": "Not a match",
        "profileOutdated": "Profile update needed",
        "profileNeeded": "Profile needed",
        "eligibilityStep": "Eligibility step needed",
        "unavailable": "Unavailable"
      },
      "declineReasons": {
        "notInterested": "The topic is not for me",
        "notEnoughTime": "I do not have enough time",
        "deviceUnavailable": "I do not have the right device",
        "other": "Another reason"
      },
      "errors": {
        "title": "We could not load your studies",
        "loadFailed": "We could not load your studies. Please try again.",
        "acceptFailed": "We could not open this study. Please try again.",
        "declineFailed": "We could not decline this study. Please try again.",
        "missingDestination": "This study does not have a valid start link yet."
      }
    },
    "profile": {
      "eyebrow": "Reusable answers",
      "title": "Your profile",
      "subtitle": "Answer once so we can match you to relevant studies without repeating the same screening questions. Update these details whenever they change.",
      "completeness": "Profile completeness",
      "lastUpdated": "Last updated {{date}}",
      "notCompleted": "Complete the required answers to improve study matching.",
      "required": "Required",
      "privateDetail": "Private detail",
      "selectMultiple": "Choose all that apply.",
      "requiredError": "Complete every required answer before saving.",
      "saveError": "We could not save your profile. Please try again.",
      "saved": "Your profile has been updated.",
      "adultConfirmation": "I confirm that I am 18 or older.",
      "adultConfirmationRequired": "Confirm that you are 18 or older before saving.",
      "consent": "By saving, you consent to QuestionPunk using these versioned answers to match you with panel studies. You can change them later.",
      "save": "Save profile",
      "saving": "Saving…",
      "progressLabel": "{{answered}} of {{total}} required answers complete ({{percent}}%)",
      "loading": "Loading your profile…",
      "loadError": "We could not load your profile. Please try again.",
      "errorTitle": "Your profile is temporarily unavailable"
    },
    "activity": {
      "title": "Activity",
      "subtitle": "Follow each completed study from submission through review and payment.",
      "paidTotal": "Paid total",
      "reward": "Reward",
      "payment": "Payment",
      "submittedOn": "Submitted {{date}}",
      "decisionReason": "Review outcome:",
      "acknowledge": "Confirm payment received",
      "acknowledging": "Confirming…",
      "acknowledgedOn": "Payment confirmed {{date}}",
      "claimError": "We could not confirm this payment. Please try again.",
      "loading": "Loading your activity…",
      "loadError": "We could not load your activity. Please try again.",
      "errorTitle": "Your activity is temporarily unavailable",
      "emptyTitle": "No activity yet",
      "emptyBody": "When you complete a study, its review and payment progress will appear here.",
      "withdrawnReadOnly": "This is a read-only record. Reviews and payments already in progress continue normally.",
      "withdrawnEmptyTitle": "No retained activity",
      "withdrawnEmptyBody": "There are no completed studies or payment records associated with this membership.",
      "suspendedReadOnly": "This is a read-only record while your membership is paused. Reviews and payments already in progress continue normally.",
      "suspendedEmptyTitle": "No activity yet",
      "suspendedEmptyBody": "There are no completed studies or payment records associated with this membership.",
      "findStudies": "Find a study",
      "status": {
        "pending_review": "In review",
        "approved": "Approved",
        "auto_approved": "Approved",
        "rejected": "Not approved",
        "paid": "Paid",
        "failed": "Payment needs attention"
      },
      "payout": {
        "acknowledged": "Received",
        "paid": "Sent",
        "issue": "Needs attention",
        "notApproved": "Not approved",
        "approved": "Approved for payment",
        "review": "Pending review"
      },
      "timeline": {
        "submitted": "Submitted",
        "reviewed": "Reviewed",
        "inReview": "In review",
        "reviewBy": "Expected by {{date}}",
        "payment": "Payment",
        "paidOn": "Sent {{date}}"
      },
      "reasons": {
        "duplicateIdentity": "Your submission could not be approved due to a duplicate identity check.",
        "quality": "The response did not meet the study's quality requirements.",
        "fraudSignal": "Your submission could not be approved due to trust and safety checks.",
        "policyViolation": "Your submission did not comply with participation policy.",
        "offPlatform": "The submission could not be verified as completed on platform.",
        "payoutContactMissing": "Your reward is being held safely while we verify its delivery details.",
        "payoutInvalidEmail": "We could not deliver your reward because the payout email was invalid.",
        "payoutDuplicateIdentity": "We could not deliver this reward because the payout identity was already used for this study.",
        "payoutProviderError": "We could not deliver your reward. The support team can review the payout.",
        "other": "The response did not meet the study's review requirements."
      },
      "support": {
        "rejected": "Questions about this review?",
        "payment": "Payment taking longer than expected?",
        "link": "Contact support",
        "general": "Need help with a study or payment?"
      }
    }
  },
  "panelMembersAdmin": {
    "tabs": {
      "members": "Members",
      "settings": "Settings"
    },
    "eyebrow": "Panel operations",
    "title": "Members",
    "subtitle": "Review global participant profiles, contact verification, and the full membership record before taking action.",
    "summary": "Member status summary",
    "all": "All",
    "allStatuses": "All statuses",
    "allMarkets": "All markets",
    "unnamed": "Unnamed member",
    "noEmail": "No email",
    "loading": "Loading members…",
    "emptyTitle": "No members match these filters",
    "emptyBody": "Try a different status, market, or search term.",
    "page": "Page {{page}} of {{total}}",
    "previous": "Previous",
    "next": "Next",
    "status": {
      "profile_pending": "Profile pending",
      "review_pending": "Needs review",
      "approved": "Approved",
      "rejected": "Rejected",
      "suspended": "Suspended",
      "withdrawn": "Withdrawn"
    },
    "contact": {
      "pending": "Verification pending",
      "matched": "Contact matched",
      "mismatched": "Contact mismatch",
      "missing": "Contact missing",
      "invalid": "Contact invalid"
    },
    "filters": {
      "search": "Search members",
      "searchPlaceholder": "Search name or email",
      "searchAction": "Search",
      "status": "Status",
      "market": "Market",
      "sort": "Sort field",
      "order": "Sort direction"
    },
    "sort": {
      "created": "Joined",
      "updated": "Updated",
      "reviewed": "Reviewed",
      "newest": "Newest",
      "oldest": "Oldest"
    },
    "table": {
      "member": "Member",
      "status": "Status",
      "market": "Market",
      "verification": "Contact check",
      "joined": "Joined"
    },
    "detail": {
      "eyebrow": "Member record",
      "verification": "Identity and verification",
      "email": "Email",
      "verified": "Verified",
      "notVerified": "Not verified",
      "reconciliation": "Contact check",
      "market": "Market",
      "joined": "Joined",
      "profile": "Profile answers",
      "noProfile": "No reusable profile answers have been collected yet.",
      "sensitive": "Sensitive",
      "refreshBy": "Refresh by {{date}}",
      "timeline": "Membership timeline",
      "noEvents": "No membership events have been recorded yet.",
      "recordedBy": "Recorded by {{actor}}",
      "reviewNote": "Review context:",
      "reason": "Decision reason",
      "chooseReason": "Choose a reason",
      "note": "Internal note",
      "notePlaceholder": "Add concise context for the audit record"
    },
    "actions": {
      "approve": "Approve member",
      "reject": "Reject",
      "suspend": "Suspend",
      "reinstate": "Reinstate",
      "resendInvite": "Resend invite"
    },
    "reasons": {
      "profileIncomplete": "Profile is incomplete",
      "identityMismatch": "Identity details do not match",
      "qualityConcern": "Participation quality concern",
      "policyViolation": "Panel policy concern",
      "other": "Other review reason"
    },
    "events": {
      "applicationStarted": "Application started",
      "profileCompleted": "Profile completed",
      "contactReconciled": "Contact details checked",
      "reviewRequested": "Sent for review",
      "approved": "Membership approved",
      "rejected": "Membership rejected",
      "suspended": "Membership suspended",
      "reinstated": "Membership reinstated",
      "inviteSent": "Panel invite sent",
      "profileUpdated": "Profile updated",
      "withdrawn": "Membership withdrawn",
      "activity": "Membership activity recorded"
    },
    "actors": {
      "admin": "an administrator",
      "system": "QuestionPunk",
      "member": "the member"
    },
    "errors": {
      "load": "We could not load panel members. Please try again.",
      "action": "We could not complete that member action. Please try again.",
      "inviteDelivery": "The member status was saved, but the invite could not be delivered. Use Resend invite to try again."
    }
  },
  "usabilityTest": {
    "setup": {
      "starterFind": "Can they find it?",
      "starterFindValue": "whether people can find what they need without help",
      "starterSetup": "First-time setup",
      "starterSetupValue": "how first-time users get through setup, and where they stall",
      "starterCheckout": "Checkout",
      "starterCheckoutValue": "where people hesitate or drop out on the way to paying",
      "starterAccount": "Account settings",
      "starterAccountValue": "whether people can manage their own account without contacting support",
      "taskStarterFind": "Find the cheapest plan available to you",
      "taskStarterChange": "Change something on your account",
      "taskStarterCancel": "Cancel a subscription you no longer use",
      "targetWebsite": "Website",
      "targetWebsiteShort": "In their browser",
      "targetWebsiteHelp": "Opens inside the study while they share their screen.",
      "targetApp": "Mobile app",
      "targetAppShort": "On their phone",
      "targetAppHelp": "Use the participant app to record their phone while they try an installed app.",
      "targetPrototype": "Prototype",
      "targetPrototypeShort": "A shareable link",
      "targetPrototypeHelp": "A Figma prototype or any shareable link, opened the same way a live site would be.",
      "stepGoal": "Goal",
      "stepTask": "First task",
      "urlLabelApp": "Play Store or App Store link",
      "urlHelperApp": "Add the store page as a reference. Participants need the app installed and may need to open it themselves.",
      "urlLabelPrototype": "Prototype link",
      "urlHelperPrototype": "Every task opens here. Make sure the link is shareable — participants are not signed in to your account.",
      "urlLabelWebsite": "Website address",
      "urlHelperWebsite": "Every task opens here. A single task can point somewhere else later — useful for comparing against a competitor.",
      "goalLabel": "What do you want to find out?",
      "taskLabel": "What should they try to do, and where?",
      "close": "Close",
      "skip": "Set it up manually",
      "back": "Back",
      "confirm": "Set it up",
      "next": "Continue",
      "taskPlaceholder": "Your pay day moved. Change your bill so it comes out on the 15th instead.",
      "taskHelper": "Read aloud when the task starts. Steps and timings are optional — add them afterwards if you need them.",
      "taskStarterLabel": "Or start from",
      "targetLabel": "Where they do it",
      "goalPlaceholder": "whether people can manage their own billing without calling support",
      "goalHelper": "Everything else is set up for you — you can fine-tune it afterwards.",
      "starterLabel": "Or start from"
    },
    "sentence": {
      "voiceNamed": "{{language}}, in {{name}}’s voice",
      "voiceUnset": "in the default voice",
      "orderRandom": "in a different order for each person",
      "orderFixed": "in the order below",
      "field": {
        "session": "Session length",
        "voice": "Voice",
        "help": "When they ask for help",
        "greeting": "Opening",
        "goal": "Goal",
        "moderation": "Moderation",
        "debrief": "Debrief",
        "tasks": "Tasks"
      },
      "sessionTitle": "How long is the whole session?",
      "sessionSubtitle": "The ceiling for everything — tasks, debriefs and the closing questions.",
      "sessionAria": "Session length. Edit.",
      "sessionOverrun": "Your tasks alone need about {{n}} min.",
      "sessionLength": "Session duration",
      "sessionOverrunBody": "Your task budgets add up to about {{n}} minutes, which is longer than the session. The last tasks may never run.",
      "wrapUpWarning": "Wrap-up before time limit",
      "wrapUpWarningHelp": "The moderator stops opening new threads this long before the limit, so the session ends at a natural pause rather than mid-task. Auto uses the agent default; Off runs to the limit.",
      "voiceTitle": "Which voice?",
      "voiceSubtitle": "Press play to hear each one. Only voices that speak the session language are listed.",
      "voiceAria": "Voice: {{value}}. Edit.",
      "languageLabel": "Session language",
      "languageSearch": "Search…",
      "languageHint": "Changing it picks the best voice for that language",
      "followLanguage": "Use the respondent's selected language",
      "helpTitle": "What happens when they ask for help?",
      "helpSubtitle": "The moment that decides whether you are testing the design or the participant.",
      "helpAria": "When they ask for help. Edit.",
      "helpMode": "When they ask for help",
      "helpDeflect": "Turn it back — \"what would you try?\"",
      "helpMinimal": "Answer, as briefly as possible",
      "helpNone": "Say nothing",
      "helpHelp": "Deflecting keeps the measurement intact but can frustrate. Answering rescues a stuck session at the cost of that task's data.",
      "avoidTopics": "Never do this",
      "avoidPlaceholder": "Helping them complete a task, hinting where to click, or suggesting they did something wrong.",
      "avoidHelp": "The half that matters most. Without it the moderator helpfully coaches people through, and there is nothing left to measure.",
      "greetingEmpty": "a greeting of its own",
      "greetingTitle": "How does the session open?",
      "greetingSubtitle": "Spoken before the first task. The reassurance line is added separately by the moderator.",
      "greetingAria": "Opening. Edit.",
      "skipIntroCost": "Nothing is spoken before the first task — including the ask to think aloud, which is what most of your data comes from. Worth it only when the survey has already covered that on a screen before this one.",
      "goalTitle": "What do you want to find out?",
      "goalSubtitle": "What the moderator pays attention to while they work — not a question it reads out.",
      "goalAria": "Goal: {{value}}. Edit.",
      "goalUnset": "not set",
      "moderationTitle": "How much should the moderator step in?",
      "moderationSubtitle": "How much the AI steps in while a task is running.",
      "moderationAria": "Moderation: {{value}}. Edit.",
      "moderationRelated": "Nudges, stuck timings and the rest are in Advanced Edit, under Usability behavior.",
      "moderatorPrompt": "Moderator prompt",
      "moderatorPromptCustom": "Custom — replaces the default",
      "moderatorPromptDefault": "The generated usability-test brief",
      "moderatorPromptEdit": "Edit moderator prompt",
      "debriefTitle": "What do you ask afterwards?",
      "debriefSubtitle": "Per-task follow-ups live on each task; these apply to the study.",
      "debriefAria": "Debrief: {{value}}. Edit.",
      "seqLabel": "Ask how easy each task was (1–7)",
      "seqHelp": "The Single Ease Question — a research standard, and the cheapest comparable number you can get out of a usability test.",
      "wrapUpLabel": "Asked once, after the last task",
      "wrapUpCount": "{{n}} of {{max}}",
      "wrapUpHelp": "The safe home for questions that compare tasks — a per-task question would fire after whichever task ran first.",
      "wrapUpAria": "Question {{n}}",
      "wrapUpPlaceholder": "Comparing the two, which felt easier?",
      "wrapUpRemove": "Remove question",
      "wrapUpAdd": "Add a question",
      "tasksTitle": "Tasks",
      "tasksSubtitle": "What participants attempt, and the order they attempt it in.",
      "tasksAria": "Tasks: {{value}}. Edit.",
      "taskOrderLabel": "Task order",
      "taskOrderFixedHint": "Participants see the tasks in the order shown above.",
      "stepOrderLabel": "Step order inside each task",
      "stepOrderFixedHint": "Each task's steps run in the order you wrote them.",
      "contextLead": "It can also refer to ",
      "hint": "Click any highlighted part of the sentence to change it.",
      "transitionFirst": "Before the first task",
      "transitionFirstEg": "To start with,",
      "transitionMiddle": "Between the middle tasks",
      "transitionMiddleEg": "Next,",
      "transitionMiddleHelp": "Write it so it works in ANY middle position — no ordinals, since the shuffle decides which slot it lands in.",
      "transitionLast": "Before the last task",
      "transitionLastEg": "Lastly,"
    },
    "taskModal": {
      "editTitle": "Task {{n}}",
      "addTitle": "Add task {{n}}",
      "subtitle": "One thing you want to watch someone try to do.",
      "close": "Close",
      "onlyRequired": "Only the task itself is required",
      "saveAndAdd": "Save & add another",
      "save": "Save task",
      "add": "Add task",
      "scriptZone": "Task",
      "scriptZoneHelp": "What they are asked to do, read aloud when the task starts.",
      "scenarioLabel": "What should they do?",
      "whereZone": "What they test",
      "whereZoneHelp": "Where this task runs, and where in it to start.",
      "targetInherited": "Same as the first task",
      "targetChange": "Change",
      "targetUrlHelp": "Blank starts at {{url}}.",
      "openLabelHelp": "Blank uses the generic \"Open the website\".",
      "targetRevert": "Use the same target as the first task",
      "webEmbedLabel": "Open the site inside the survey",
      "webEmbedHelp": "Off, or for anything that is not an https:// address, it opens in a new tab instead.",
      "stepsLabel": "Steps",
      "stepsCount": "{{n}} of {{max}}",
      "stepsNone": "none",
      "stepsHelp": "Spoken one at a time as they work. Leave it empty to find out whether people work it out unaided.",
      "aiStep": "AI decides",
      "aiStepPlaceholder": "What should they end up doing?",
      "stepPlaceholder": "Open the account area",
      "removeStep": "Remove step",
      "addStep": "Add a step",
      "addAiStep": "Let the AI decide one",
      "debriefLabel": "Afterwards",
      "debriefCount": "{{n}} of {{max}}",
      "debriefHelp": "Asked after this task only. The 1–7 ease rating is asked after every task anyway.",
      "debriefPlaceholder": "What made you hesitate there?",
      "removeQuestion": "Remove question",
      "addQuestion": "Add a question",
      "seqNote": "The 1–7 ease rating is asked after every task automatically.",
      "titleLabel": "Short label",
      "titleHelp": "Participants see this as the name of the task.",
      "titlePlaceholder": "e.g. Change billing date",
      "measureZone": "How it is measured",
      "budgetLabel": "Time limit",
      "budgetHelp": "A shorter budget measures ease; a longer one measures persistence.",
      "seconds": "{{n}} sec",
      "minutes": "{{n}} min",
      "minTimeLabel": "Minimum time",
      "minTimeHelp": "Faster than this is flagged — usually a misclick, not a success.",
      "stuckLabel": "Stuck after",
      "stuckHelp": "How long without progress before the moderator may step in.",
      "warmUpLabel": "Practice task",
      "warmUpHelp": "Runs normally but is left out of your metrics. The first task is always the noisiest."
    },
    "tasks": {
      "emptyTitle": "No tasks yet",
      "emptyBody": "A task is one thing you want to watch someone try to do. Most studies have two to five.",
      "addFirst": "Add your first task",
      "drag": "Task {{n}}. Drag to reorder",
      "untitled": "Untitled task",
      "stepChip": "{{n}} steps",
      "noStepChip": "no steps",
      "warmUpChip": "practice",
      "edit": "Edit task",
      "remove": "Remove task",
      "add": "Add task",
      "heading": "Tasks",
      "summary": "{{n}} of {{max}} · about {{mins}} min",
      "summaryEmpty": "0 of {{max}}"
    },
    "advanced": {
      "transitionsNone": "none written",
      "transitionsCount": "{{n}} of 3 written",
      "shortNudge": "nudges",
      "shortSkip": "skippable",
      "shortBlock": "blocks fast finishes",
      "shortNone": "all off",
      "shortAutoOpen": "auto-open",
      "shortAutoAdvance": "auto-advance",
      "shortPreload": "preload",
      "speechModels": "Speech models",
      "stt": "Speech to text",
      "sttHint": "Transcribes what the participant says. The language is set with the voice.",
      "tts": "Text to speech",
      "ttsHint": "Speaks the tasks and questions. Changing it changes which voices are offered.",
      "heading": "How task pages open",
      "summaryNone": "all off",
      "summaryNotApplicable": "not in use",
      "help": "Only affects tasks set to open inside the study.",
      "helpNone": "No task opens inside the study yet, so none of these apply. Set a task to open in-page to use them.",
      "silenceDown": "Less silence",
      "silenceValue": "{{n}}s",
      "silenceUp": "More silence",
      "minTimeFlag": "Flag",
      "minTimeBlock": "Block",
      "transitions": "What it says between tasks"
    }
  },
  "repeatWizard": {
    "editor": {
      "newColumnName": "New detail",
      "emptySuffix": " · {{count}} empty",
      "addImages": "+ Images",
      "addDetail": "+ Detail",
      "addColumn": "+ Column",
      "addRound": "+ Round",
      "addRow": "+ Row",
      "name": "Name",
      "contentType": "Content type",
      "usedAs": "Used as",
      "participantHint": "Appears with each round while questions are answered.",
      "analysisHint": "Never displayed — results file only.",
      "filledCount": "{{filled}} of {{total}} rows filled",
      "deleteColumn": "Delete column",
      "footerSummary": "{{rows}} rows · {{columns}} columns · {{blanks}} empty · {{answers}} answers per person"
    },
    "editData": "Edit data",
    "rowsAndColumns": "{{rows}} rows · {{columns}} columns",
    "close": "Close",
    "yourData": "Your data",
    "viewTable": "Table",
    "viewGrid": "Grid",
    "uploading": "Uploading…",
    "recipe": {
      "eachRoundShows": "Each round shows",
      "nothing": "— nothing —",
      "with": "with",
      "thenAsks": "then asks {{count}} shared questions",
      "analysisOnlyCount": "{{count}} analysis only"
    },
    "table": {
      "columnSettings": "Column settings",
      "rowId": "Row ID",
      "rowIdHelp": "stable key",
      "fillDownTitle": "Copy the first value into empty cells",
      "fillDown": "fill ↓",
      "uploadRowImage": "Upload an image for this row",
      "editImageUrl": "Edit image URL"
    },
    "done": "Done",
    "typeTextLabel": "Text",
    "typeImageLabel": "Image",
    "visibilityShown": "Shown",
    "visibilityAnalysisOnly": "Analysis only",
    "continueWithImageOne": "Continue with 1 image",
    "continueWithImagesOther": "Continue with {{count}} images",
    "finishSetup": "Finish setup",
    "continueFillLater": "Continue, fill the rest later",
    "continue": "Continue",
    "title": "Set up your data",
    "stepIndicator": "Step {{current}} of {{total}} · {{label}}",
    "skipGuide": "Skip guide, edit the table",
    "back": "Back",
    "grid": {
      "empty": "No stimuli yet.",
      "uploadImage": "Upload an image for this stimulus",
      "remove": "Remove"
    },
    "shownBadge": "shown",
    "typeImage": "image",
    "typeText": "text",
    "analysisOnlyBadge": "analysis only",
    "addImage": "add image",
    "details": {
      "emptyHeading": "Nothing to fill in",
      "emptyHelp": "You didn't add any columns, so there's nothing to type. Carry on.",
      "heading": "Fill in the details",
      "blanksOne": "1 cell still empty — you can always finish this later.",
      "blanksOther": "{{count}} cells still empty — you can always finish this later."
    },
    "images": {
      "heading": "Add your images",
      "help": "Select as many as you like — each one becomes a row, and the questions repeat for every one of them.",
      "dropZone": "Drop image files here",
      "chooseFiles": "Choose files",
      "atCapacity": "Maximum of {{max}} images reached",
      "formatHint": "PNG or JPG · select several at once",
      "addMore": "+ Add more",
      "addedCount": "{{count}} added"
    },
    "record": {
      "suggestionBrand": "Brand",
      "suggestionDescription": "Description",
      "suggestionPriceTier": "Price tier",
      "suggestionClaimType": "Claim type",
      "suggestionVariant": "Variant",
      "suggestionSource": "Source",
      "suggestionCondition": "Condition",
      "heading": "What do you want to record about each one?",
      "help": "These become columns. Some you'll want people to read — a description under the image. Others are just for you, so you can cut the results by them later.",
      "addSuggestion": "+ {{name}}",
      "untitledColumn": "Untitled",
      "addSomethingElse": "+ Something else",
      "namePlaceholder": "Name this column",
      "removeColumn": "Remove column",
      "empty": "Nothing yet — tap a suggestion above, or skip this step if the image is all you need.",
      "visibilityHint": "<shown>Shown</shown> appears with each round. <analysis>Analysis only</analysis> never reaches the person — it only shows up in your results file."
    },
    "review": {
      "heading": "Ready to go",
      "help": "Here's what you built. Everything stays editable in the section panel afterwards.",
      "answerCount": "{{rows}} rows × {{questions}} questions = {{answers}} answers per person",
      "longSectionWarning": "That's a long section — consider showing a random subset instead.",
      "blankWarningOne": "1 empty cell — fine to leave, it'll just be blank in your data.",
      "blankWarningOther": "{{count}} empty cells — fine to leave, they'll just be blank in your data.",
      "noImageWarningOne": "1 row with no image.",
      "noImageWarningOther": "{{count}} rows with no image.",
      "footer": "After finishing, the rules stay editable in the section panel and the data opens as a table."
    },
    "rules": {
      "heading": "How should the stimuli be shown?",
      "help": "Defaults are fine for most studies — randomised order, everyone sees everything.",
      "stimuliShown": "Stimuli shown",
      "allStimuli": "All stimuli",
      "randomN": "A random {{count}}",
      "stimuliShownHelp": "How many each person gets.",
      "order": "Order",
      "orderAuthored": "As authored",
      "orderRandomized": "Randomised",
      "orderHelp": "Shuffle which stimulus comes first.",
      "hint": "Randomising the order is what stops the first stimulus getting an advantage."
    },
    "source": {
      "filesTitle": "I have image files",
      "filesHelp": "Upload them from your computer. You'll add any coding afterwards.",
      "linksTitle": "I have image links",
      "linksHelp": "Paste URLs from your CDN or shared drive, one per line.",
      "csvTitle": "I have a CSV file",
      "csvHelp": "A row per image with the image link and your coding already in columns — the fastest route.",
      "introOne": "This section's 1 question will be asked once for each one, so the first job is getting them in.",
      "introOther": "This section's {{count}} questions will be asked once for each one, so the first job is getting them in.",
      "heading": "Where are your images coming from?",
      "hint": "Not sure? Pick image files. You can import a CSV later without redoing anything."
    },
    "runSetupAgain": "Run setup again",
    "imageColumn": "Image",
    "steps": {
      "source": "Source",
      "images": "Images",
      "record": "What to record",
      "details": "Details",
      "rules": "Rules",
      "review": "Review"
    }
  },
  "onboardingWizard": {
    "quiz": "Quiz",
    "quizHeading": "What knowledge should your quiz test?",
    "quizBriefLabel": "Describe your quiz",
    "quizBriefPlaceholder": "Who is taking it, and what should they know?",
    "quizHelp": "We draft knowledge questions and correct answers for you to review before publishing.",
    "quizSourceLabel": "What should the quiz be based on? (optional)",
    "quizSourceHelp": "Questions come only from what you paste here. The AI can't watch videos or open links, so paste the words themselves. Leave it empty for a general-knowledge quiz.",
    "quizSourcePlaceholder": "Paste the text to quiz people on: a training video's script, lesson notes, a policy, or your own questions and answers…",
    "quizReviewHelp": "Review the questions and correct answers in the builder before publishing your quiz.",
    "reviewAnswerKey": "Review answer key",
    "kind_survey": "Survey",
    "kind_quiz": "Quiz",
    "kind_voice": "Voice study",
    "kind_usability": "Usability test",
    "kind_concept": "Concept test",
    "kind_focus": "AI focus group",
    "kind_design": "Design",
    "findDraft": "Edit study opens the full editor. You can also find your saved draft in Recent studies on Home or in Studies.",
    "progress": "Choose · Describe · Preview",
    "pickHelp": "Choose a starting point. You can adjust your study before publishing.",
    "openSetup": "Open {{kind}} setup",
    "buildPath": "Next, describe what you want to learn.",
    "handoffHelp": "Continue in the {{kind}} workspace to finish setup.",
    "storageUnavailable": "Your brief could not be saved in this tab. Keep this page open until your draft is ready.",
    "language": "Respondent language",
    "chooseLanguage": "Choose a supported interview language",
    "draftHelp": "Creates a draft for you to review. Nothing is published or sent.",
    "buildDraft": "Build my draft",
    "building": "Preparing your draft",
    "buildingHelp": "Writing and saving your study. This can take about a minute. Keep this page open; nothing is published or sent.",
    "draft": "Draft",
    "previewHeading": "Your draft is ready to review",
    "previewHelp": "Review the questions and try the participant experience. Publish when you are ready to collect responses.",
    "publishing": "Publishing",
    "publish": "Publish and get link",
    "tryPreview": "Try the preview",
    "previewOnly": "A preview for testing your study before sharing."
  },
  "courseAccess": {
    "backToCourse": "← Back to course",
    "storageTitle": "Allow browser storage to continue",
    "storageDescription": "Courses use browser storage to save your place. Allow it for this site, then reload.",
    "signInTitle": "Sign in to start learning",
    "signInDescription": "Every QuestionPunk account can take these courses for free. Choose a course and learn at your own pace.",
    "signIn": "Sign in to QuestionPunk",
    "haveClassCode": "Have a class code?",
    "joinClass": "Join your class",
    "opening": "Opening your course…"
  },
  "shelf": {
    "badge": {
      "fastDelivery": "Fast delivery",
      "bestSeller": "Best seller",
      "topPick": "Top pick",
      "sponsored": "Sponsored",
      "deal": "Deal",
      "new": "New"
    },
    "marketplace": {
      "amazon": "Amazon",
      "walmart": "Walmart",
      "kroger": "Kroger",
      "google_shopping": "Google Shopping",
      "generic": "Generic store"
    },
    "presentation": {
      "digital": "Online store grid",
      "physical": "Physical store shelf"
    },
    "fixture": {
      "groupLabel": "Store shelf, pick up to {{count}}",
      "pickLabel": "Take {{title}} off the shelf",
      "eyeLevel": "Eye level",
      "noPrice": "--"
    },
    "facings": {
      "title": "Facings per competitor",
      "helper": "How many packs of each brand stand side by side. This is what share of shelf is measured against.",
      "total_one": "{{count}} competitor facing on the shelf",
      "total_other": "{{count}} competitor facings on the shelf",
      "label": "Facings",
      "inputLabel": "Facings for {{title}}"
    },
    "tile": {
      "rating": "{{rating}} out of 5 stars",
      "pickLabel": "Add {{title}} to cart",
      "inCart": "In cart",
      "addToCart": "Add to cart",
      "yourConcept": "Your concept",
      "show": "Show on shelf",
      "hide": "Hide from shelf",
      "hidden": "Hidden",
      "visible": "Visible",
      "edit": "Edit product",
      "editShort": "Edit"
    },
    "scene": {
      "groupLabel": "Store shelf, pick up to {{count}}",
      "emptySlot": "Empty slot"
    },
    "status": {
      "draft": "Draft",
      "searching": "Finding competitors",
      "searchStalled": "Search stalled",
      "ready": "Ready",
      "failed": "Search failed",
      "searchUnavailable": "Search unavailable"
    },
    "settings": {
      "marketplace": "Marketplace",
      "region": "Region (optional)",
      "regionPlaceholder": "e.g. US",
      "query": "What are shoppers looking for?",
      "queryHelper": "The search a shopper would type. Competitors come from the results.",
      "queryPlaceholder": "e.g. ground coffee 12 oz",
      "presentation": "Shelf type",
      "presentationHelper": "A store fixture measures facings and shelf height; a grid measures the search page.",
      "rows": "Rows",
      "cols": "Columns",
      "shelfRows": "Shelves",
      "shelfRowsHelper": "Boards, top to bottom",
      "facingsPerRow": "Facings per shelf",
      "facingsPerRowHelper": "Packs across the fixture",
      "conceptSlot": "Concept slot",
      "conceptSlotHelper": "0 = first tile",
      "maxPicks": "Picks per shopper",
      "askReason": "Ask why they picked",
      "shuffle": "Shuffle competitors per shopper",
      "shuffleFixture": "Reshuffle the shelf per shopper",
      "exposure": "Time limit (seconds)",
      "exposureHelper": "Blank for none"
    },
    "product": {
      "editTitle": "Edit product",
      "addTitle": "Add a competitor",
      "save": "Save",
      "add": "Add to shelf",
      "title": "Product title",
      "brand": "Brand (optional)",
      "price": "Price ({{currency}})",
      "imageUrl": "Image URL (optional)"
    },
    "editor": {
      "settingsTitle": "Shelf settings",
      "save": "Save settings",
      "saveError": "Could not save the shelf settings.",
      "searchCompetitors": "Search competitors",
      "researchCompetitors": "Search competitors again",
      "searchError": "Could not start the competitor search.",
      "searchingNote": "Pulling real listings for your query. This takes about a minute.",
      "pollExhausted": "Still searching. Reload the page in a minute to check again.",
      "searchStalled": "The last search never finished. Run it again.",
      "productError": "Could not update the product.",
      "previewTitle": "Shelf preview",
      "previewSubtitle": "{{count}} competitors visible. Shoppers see your concept in slot {{slot}}.",
      "previewSubtitleFixture_one": "{{count}} competitor on {{rows}} shelves. Your concept stands at eye level.",
      "previewSubtitleFixture_other": "{{count}} competitors on {{rows}} shelves. Your concept stands at eye level.",
      "noVariant": "Generate a concept variant in Build to place it on the shelf.",
      "addProduct": "Add product",
      "emptySearching": "Competitors will appear here when the search finishes.",
      "emptyDraft": "No products yet. Search competitors or add one by hand."
    },
    "create": {
      "title": "Put your concept on a shelf",
      "subtitle": "Pick the store and the search a shopper would run. We pull real listings as competitors and place your concept among them.",
      "submit": "Create shelf and find competitors",
      "error": "Could not create the shelf."
    },
    "steps": {
      "setup": "Setup",
      "run": "Run",
      "results": "Results"
    },
    "dashboard": {
      "title": "Shelf test",
      "subtitle": "Your concept on a store shelf next to real competitors. Measure what shoppers pick.",
      "loadError": "Could not load the shelf."
    },
    "run": {
      "respondentsTitle": "Field it to real shoppers",
      "respondentsBody": "Publish this concept test and share it like any other. Each respondent sees one variant in the concept slot among the competitors and picks what they would buy.",
      "needVariant": "Generate at least one concept variant in Build before fielding.",
      "needReady": "Finish the competitor search in Setup before fielding.",
      "openPublish": "Open publish and share",
      "pickCounts": "{{real}} real picks, {{preview}} preview",
      "aiTitle": "AI shoppers",
      "aiBody": "Synthetic shoppers walking the same shelf for a first read in minutes.",
      "aiCountLabel": "How many shoppers",
      "aiModelNote": "Each shopper sees the shelf as images and picks with a vision model (gpt-4o-mini).",
      "aiStart": "Start AI shoppers",
      "aiProgress": "{{completed}} of {{total}} shoppers done",
      "aiDone": "All {{total}} AI shoppers done. Open Results to see what they picked.",
      "aiError": "Could not start the AI shoppers.",
      "aiBlocked": "Finish the shelf in Setup and generate a concept variant in Build before running AI shoppers."
    },
    "report": {
      "loadError": "Could not load the shelf results.",
      "empty": "No picks yet. Results appear here as shoppers go through the shelf.",
      "headline": "Headline",
      "respondents": "{{count}} real shoppers",
      "synthetic": "{{count}} AI shoppers included",
      "gapSeparated": "The top two are {{margin}} points apart and clearly separated.",
      "gapOverlap": "The top two are {{margin}} points apart; their confidence intervals still overlap.",
      "addRespondents": "Add about {{count}} respondents per cell to separate the top two.",
      "variantsTitle": "Your variants",
      "competitorsTitle": "Competitors",
      "winner": "Leading",
      "col": {
        "variant": "Variant",
        "n": "Shown to",
        "share": "Picked",
        "ci": "95% CI",
        "time": "Median time to pick",
        "product": "Product",
        "brand": "Brand",
        "price": "Price"
      }
    },
    "stage": {
      "loading": "Setting up the shelf",
      "loadError": "Could not load the shelf. Please try again.",
      "notReady": "This shelf is still being set up. Please try again in a moment.",
      "submitError": "Could not save your picks. Please try again.",
      "retry": "Try again",
      "skip": "Skip this question",
      "instructionWithQuery_one": "Imagine you're shopping for {{query}}. Pick the one product you would buy.",
      "instructionWithQuery_other": "Imagine you're shopping for {{query}}. Pick the {{count}} products you would buy.",
      "instruction_one": "Imagine you're shopping. Pick the one product you would buy.",
      "instruction_other": "Imagine you're shopping. Pick the {{count}} products you would buy.",
      "fixtureInstructionWithQuery_one": "You're in the store looking for {{query}}. Take the one you would buy off the shelf.",
      "fixtureInstructionWithQuery_other": "You're in the store looking for {{query}}. Take the {{count}} you would buy off the shelf.",
      "fixtureInstruction_one": "You're in the store. Take the one you would buy off the shelf.",
      "fixtureInstruction_other": "You're in the store. Take the {{count}} you would buy off the shelf.",
      "secondsLeft": "{{count}}s left",
      "cartCount": "{{picked}} of {{max}} in your cart",
      "replaceHint": "Picking one more swaps out your oldest pick.",
      "timeUpSaving": "Time's up. Saving your picks.",
      "timeUpEmpty": "Time's up. You didn't add anything to your cart.",
      "reasonLabel": "Why these? (optional)",
      "reasonPlaceholder": "What made you choose them?",
      "submitting": "Saving...",
      "continue": "Continue",
      "submit": "Confirm my cart"
    },
    "searchUnavailable": {
      "addByHand": "Add a competitor by hand",
      "openShelf": "Build the shelf by hand",
      "title": "Competitor search is off on this server"
    }
  },
  "vectorize": {
    "header": {
      "brand": "QuestionPunk",
      "breadcrumb": "Vectorize",
      "backToPackagingDesign": "Back to Design",
      "howItWorks": "How it works",
      "pricing": "Pricing",
      "help": "Help",
      "signIn": "Sign in",
      "createAccount": "Create account",
      "newImage": "New image",
      "tracedIn": "Traced in {{seconds}}s",
      "viewSideBySide": "Side by side",
      "viewOverlay": "Overlay",
      "viewVectorOnly": "Vector only"
    },
    "upload": {
      "title": "Vectorize",
      "subtitle": "Traced in your browser. The file never leaves your device.",
      "dropTitle": "Drop an image, or choose a file",
      "dropFormats": "PNG, JPG, WebP or BMP, up to 20 MB",
      "dropToTrace": "Drop to trace",
      "readyToTrace": "Ready to trace",
      "fileReady": "Release to start tracing this file.",
      "chooseFile": "Choose a file",
      "pasteFromClipboard": "Paste from clipboard",
      "pasteHintBefore": "or press",
      "pasteHintAfter": "to paste an image",
      "press": "Press",
      "esc": "Esc",
      "toCancel": "to cancel",
      "examplesLabel": "Or start with a sample",
      "exampleLogoMark": "Logo mark",
      "exampleLineSketch": "Line sketch",
      "examplePhoto": "Photo",
      "exampleAppScreenshot": "App screenshot",
      "exampleFailed": "That example could not be prepared. Try your own image.",
      "unsupportedType": "That file type is not supported. Use a PNG, JPG, WebP or BMP.",
      "fileTooLarge": "That file is over 20 MB. Try a smaller image.",
      "clipboardNoImage": "There is no image on the clipboard.",
      "privacy": "Tracing runs on your device",
      "noAccount": "no account needed",
      "feature1Title": "Traced in your browser",
      "feature1Desc": "The image is decoded, quantized and traced on your own machine. Nothing is uploaded, so nothing can leak.",
      "feature1Chip1": "Private by default",
      "feature1Chip2": "Works offline",
      "feature2Title": "Real curves, not pixel steps",
      "feature2Desc": "Edges are fitted to Bezier curves after the palette is resolved, so a shape stays a shape at any size.",
      "feature2Chip1": "Bezier fitting",
      "feature2Chip2": "Scales to any size",
      "feature3Title": "Ready for Design",
      "feature3Desc": "Send the result straight into a Design project, or download the SVG and take it anywhere.",
      "feature3Chip1": "One-click handoff",
      "feature3Chip2": "Plain SVG download"
    },
    "tracing": {
      "title": "Tracing your image",
      "close": "Close",
      "cancel": "Cancel",
      "statusTracing": "Tracing…",
      "percent": "{{value}}%",
      "presetChip": "{{preset}} preset",
      "sampleCount": "{{count}} samples",
      "aboutSecondsLeft": "About {{seconds}}s left",
      "progressOf": "{{done}} of {{total}} steps done",
      "traceProgress": "{{done}} of {{total}} regions",
      "traceResult": "{{regions}} regions · {{seconds}}s",
      "quantizeResult": "{{colors}} colors · {{seconds}}s",
      "stepQuantize": "Resolve the palette",
      "stepTrace": "Find the regions",
      "stepFit": "Fit the curves",
      "stepOptimize": "Optimize the SVG",
      "stepBuild": "Build the file",
      "metaKept": "Done",
      "metaTracing": "Working…",
      "metaWaiting": "Waiting",
      "metaStopped": "Stopped",
      "metaNotStarted": "Not started",
      "changePresetsHint": "Change the preset or the sliders after it finishes, then re-trace.",
      "runsOnDevice": "runs on your device"
    },
    "failed": {
      "title": "That trace stopped early",
      "badge": "Stopped",
      "errorTitle": "Over the {{limit}} path limit",
      "errorBody": "The trace passed the path limit before it could finish. Fewer colors or less detail will bring it under.",
      "genericStatus": "The trace could not finish.",
      "statusLine": "Reached {{paths}} paths",
      "stoppedAt": "Stopped at {{percent}}%",
      "stoppedCount": "Stopped before the file was built",
      "secondsElapsed": "{{seconds}}s elapsed",
      "pathsOfLimit": "{{paths}} of {{limit}} paths",
      "keptOf": "{{done}} of {{total}} steps kept",
      "presetHint": "Try {{colors}} colors — about {{seconds}}s.",
      "lowerDetailRetry": "Retry with less detail",
      "retryFewerColors": "Retry with fewer colors",
      "keepRaw": "Keep the raw trace"
    },
    "rail": {
      "title": "Trace settings",
      "preset": "Preset",
      "presetLogo": "Logo",
      "presetPhoto": "Photo",
      "presetSketch": "Sketch",
      "presetLogoDesc": "Flat art with hard edges. Few colors, background cut away.",
      "presetPhotoDesc": "Photographs and gradients. A wide palette, background kept.",
      "presetSketchDesc": "Line work and scans. Very few colors, noise filtered out.",
      "colors": "Colors",
      "colorsMeta": "{{colors}} colors",
      "detail": "Detail",
      "cornerThreshold": "Corner threshold",
      "speckleFilter": "Noise filter",
      "cleanup": "Cleanup",
      "curveFitting": "Curve fitting",
      "curveFittingInfo": "How edges become geometry: pixel steps, straight segments, or Bezier curves.",
      "modePixel": "Pixel",
      "modePolygon": "Polygon",
      "modeSpline": "Curves",
      "splineHint": "Curves give the smallest, smoothest file. Pixel keeps every step of the raster.",
      "segmentLength": "Segment length",
      "spliceThreshold": "Splice threshold",
      "layerDifference": "Layer merge distance",
      "keepBackground": "Keep the background",
      "keepBackgroundOnHint": "On: the ground is traced as its own layer, including a ground hidden under transparency.",
      "keepBackgroundOffHint": "Off: the ground is cut away before tracing, whatever color it is, and the result is transparent.",
      "knockoutPlateKept": "Background kept anyway: the artwork is knocked out of this ground, so cutting it away would leave nothing to read.",
      "output": "Output",
      "pathPrecision": "Coordinate precision",
      "advanced": "Advanced",
      "changed": "Changed",
      "changedCount": "{{count}} changed",
      "dirtyNote": "Settings changed since this trace.",
      "apply": "Apply",
      "retrace": "Re-trace",
      "resetToPreset": "Reset to the {{preset}} preset",
      "pressPrefix": "Press",
      "pressSuffix": "to re-trace",
      "degrees": "{{value}}°",
      "px": "{{value}} px",
      "digits": "{{count}} digits",
      "kb": "{{kb}} KB",
      "pathsCount": "{{paths}} paths",
      "svgVersion": "SVG 1.1",
      "noStrokes": "Fills only, no strokes",
      "fixSuggestion": "Suggested fix",
      "fixMeta": "Re-traces with this setting",
      "dropDetail": "Drop detail to {{detail}}",
      "reduceColors": "Reduce to {{colors}} colors",
      "overCap": "{{over}} paths over the editor limit",
      "needsFewer": "Design takes up to {{cap}} paths",
      "studioCap": "{{paths}} of {{cap}} paths",
      "downloadSvg": "Download SVG",
      "openInStudio": "Open in Design"
    },
    "result": {
      "original": "Original",
      "vector": "Vector",
      "raster": "Raster",
      "imageMeta": "{{type}} · {{width}} × {{height}} · {{size}}",
      "svgMeta": "SVG · {{paths}} paths · {{kb}} KB",
      "zoomIn": "Zoom in",
      "zoomOut": "Zoom out",
      "fit": "Fit",
      "zoomHint": "Zoom both panes to compare the same edge.",
      "everyEdge": "Every edge is a curve, not a step",
      "scalesToAnySize": "Scales to any size",
      "checkerboard": "Checkerboard means transparent",
      "stale": "From the previous trace — re-trace to apply"
    },
    "studioModal": {
      "title": "Send this to Design",
      "chip": "Handoff",
      "description": "The SVG is added to a Design project, where every shape stays editable.",
      "destination": "Destination",
      "newProject": "New project",
      "newProjectDesc": "Start a project with this artwork on the board.",
      "addToOpen": "Add to {{name}}",
      "addToOpenDesc": "Add to {{name}} ({{count}} elements)",
      "fileMeta": "{{paths}} paths · {{colors}} colors · {{kb}} KB",
      "fileDimensions": "{{width}} × {{height}}",
      "tracedAgo": "Traced {{seconds}}s ago",
      "check1": "{{paths}} paths, inside the editor limit",
      "check2": "Fills only — no strokes to flatten",
      "check3": "Transparent background preserved",
      "open": "Open in Design",
      "downloadInstead": "Download the SVG instead",
      "maybeLater": "Maybe later",
      "close": "Close",
      "error": "That handoff failed. Download the SVG or try again.",
      "noSvg": "There is no traced SVG to send yet. Re-trace the image and try again."
    },
    "gate": {
      "title": "Keep vectorizing",
      "chip": "Free limit reached",
      "description": "You have used your free traces for today. A plan lifts the limit and keeps every trace private to your device.",
      "feature1": "Unlimited traces",
      "feature1Meta": "No daily cap",
      "feature2": "Traces used today",
      "feature2Meta": "{{used}} of {{limit}}",
      "feature3": "Design handoff",
      "feature3Meta": "Send artwork straight to a project",
      "priceValue": "$12",
      "pricePeriod": "per month",
      "priceNote": "Cancel any time.",
      "cta": "See plans",
      "decline": "Not now",
      "close": "Close"
    }
  },
  "conceptTesting": {
    "usage": {
      "heading": "Used by this study",
      "creditsValue_one": "{{credits}} credit",
      "creditsValue_other": "{{credits}} credits",
      "callsMeta_one": "{{count}} AI request",
      "callsMeta_other": "{{count}} AI requests",
      "callsCount_one": "{{count}} request",
      "callsCount_other": "{{count}} requests",
      "showDetail": "Show detail",
      "hideDetail": "Hide detail",
      "workHeading": "What the AI did",
      "chargesHeading": "Charges",
      "olderCharges_one": "{{count}} older charge not shown",
      "olderCharges_other": "{{count}} older charges not shown",
      "none": "This study has not used any credits yet.",
      "unavailable": "Credit usage for this study is unavailable.",
      "unmeasured_one": "One AI model's cost is not measured in this version, so it is missing from this total: {{models}}.",
      "unmeasured_other": "Some AI models' costs are not measured in this version, so they are missing from this total: {{models}}.",
      "excludesImages": "Generated pictures are charged per picture and are billed separately from this total.",
      "activity": {
        "brief": "Understanding the brief",
        "designs": "Making designs",
        "chat": "Chatting with you",
        "respondents": "Simulated respondents",
        "analysis": "Reading the answers",
        "audio": "Speech and transcription",
        "other": "Other AI work"
      }
    },
    "variants": {
      "subtitle": "{{total}} generated across {{rounds}}. {{active}} active, {{retired}} retired."
    },
    "aiRuns": {
      "empty": {
        "title": "No AI runs yet",
        "description": "Run an AI check from the People view for a first read before you spend on people."
      },
      "status": {
        "completed_empty": "No responses"
      },
      "noValue": "No data",
      "noVerdict": "Not scored yet"
    },
    "respondents": {
      "aiRunsCount_one": "{{runs}} run",
      "aiRunsCount_other": "{{runs}} runs",
      "aiRunsRounds_one": "across {{rounds}} round.",
      "aiRunsRounds_other": "across {{rounds}} rounds.",
      "aiRunsScored_one": "{{synthetic}} synthetic response scored against {{real}} real ones.",
      "aiRunsScored_other": "{{synthetic}} synthetic responses scored against {{real}} real ones.",
      "subtitlePeople_one": "{{total}} person so far.",
      "subtitlePeople_other": "{{total}} people so far.",
      "subtitleStatuses": "{{completed}} completed, {{inProgress}} in progress, {{abandoned}} abandoned.",
      "subtitleWho_one": "{{total}} respondent so far, {{people}} people and {{ai}} AI.",
      "subtitleWho_other": "{{total}} respondents so far, {{people}} people and {{ai}} AI.",
      "statusCompleted": "Completed",
      "statusInProgress": "In progress",
      "statusStalled": "Stalled",
      "statusAbandoned": "Abandoned",
      "statusStalledSince": "since {{when}}",
      "statusStalledTitle": "No update since {{when}}.",
      "filterStalled": "Stalled",
      "subtitleStatusesStalled": "{{completed}} completed, {{inProgress}} in progress, {{stalled}} stalled, {{abandoned}} abandoned.",
      "table": {
        "status": "Status",
        "lastSeen": "Last seen",
        "loadMore": "Load more",
        "surveySession": "Survey session",
        "respondent": "Respondent",
        "synthetic": "Synthetic",
        "selfTest": "Self test",
        "hostSurvey": "Host survey",
        "direct": "Direct",
        "expand": "Show details",
        "collapse": "Hide details",
        "viewRespondent": "View respondent",
        "rowActions": "Respondent actions",
        "answers": "Answers ({{count}})",
        "noQuestion": "No question text",
        "noFeedback": "No comment"
      },
      "empty": {
        "title": "No respondents yet",
        "description": "Share the respondent link, or run an AI check for a first read.",
        "filteredTitle": "No matching respondents",
        "filteredDescription": "Nobody matches the current filters. Clear them to see everyone."
      },
      "deleteConfirm": {
        "title": "Delete respondent data",
        "description": "This deletes everything this respondent submitted. It cannot be undone."
      }
    },
    "brief": {
      "generateCta": "Generate concepts",
      "rail": {
        "addOption": "Add option",
        "optionLabel": "Option {{number}}",
        "optionPlaceholder": "Option {{number}}",
        "questionLabel": "Question text",
        "removeQuestion": "Remove question",
        "untitledQuestion": "Untitled question"
      }
    },
    "deliverables": {
      "download": "Download",
      "pptBuilding": "Building your presentation",
      "pptReady": "Your presentation is ready"
    },
    "report": {
      "coverEyebrow": "Concept test report",
      "evolutionLine_one": "{{count}} choice tracked across the rounds.",
      "evolutionLine_other": "{{count}} choices tracked across the rounds.",
      "generatePresentation": "Generate presentation",
      "generatingPresentation": "Starting the deck…",
      "leading": "Leading",
      "openReel": "Open the highlight reel",
      "runnerUp": "Runner up",
      "sectionCount_one": "{{count}} section",
      "sectionCount_other": "{{count}} sections",
      "segmentLine_one": "{{name}} · {{count}} respondent",
      "segmentLine_other": "{{name}} · {{count}} respondents",
      "winner": "Winner"
    },
    "results": {
      "waitingTitle": "No scored results yet",
      "waiting": "Scores fill in once responses are in.",
      "statConcepts": "Concepts",
      "columnRank": "Rank",
      "columnConcept": "Concept",
      "columnVsLeader": "vs leader",
      "isLeader": "Leader",
      "notComparedGroup_one": "{{count}} concept has not been compared yet, so it has no score.",
      "notComparedGroup_other": "{{count}} concepts have not been compared yet, so they have no scores.",
      "subtitleRatings": "Ranked by preference strength, which adjusts for the concepts each one was shown against. Win rate, appeal, uniqueness and purchase intent sit beside it.",
      "subtitlePreference": "Ranked by preference strength, which adjusts for the concepts each one was shown against. Win rate is the raw share of comparisons won.",
      "strengthColumn": "Preference strength",
      "winRateColumn": "Win rate",
      "strengthColumnHelp": "Bradley-Terry strength: how often this concept would be chosen against an average rival, adjusted for which concepts it was actually shown against. The ranking, and the gap to the leader, are this number.",
      "winRateColumnHelp": "The raw share of head-to-head comparisons this concept won, whatever it happened to face. It does not adjust for opposition, so it can disagree with the ranking.",
      "vsLeaderColumnHelp": "Preference strength relative to the leading concept, in points.",
      "leads_one": "Leads {{letter}} by {{count}} pt",
      "leads_other": "Leads {{letter}} by {{count}} pts",
      "levelWith": "Level with {{letter}}"
    }
  },
  "quantitativeStudio": {
    "The data changed. Reload the study before inspecting more responses.": "The data changed. Reload the study before inspecting more responses.",
    "Responses could not be loaded.": "Responses could not be loaded.",
    "Data & variables": "Data & variables",
    "Inspect source values and exclude specific responses. Source answers stay unchanged.": "Inspect source values and exclude specific responses. Source answers stay unchanged.",
    "Variable dictionary": "Variable dictionary",
    "Variable": "Variable",
    "Type": "Type",
    "Source column": "Source column",
    "Missing codes": "Missing codes",
    "Response rows": "Response rows",
    "of": "of",
    "Original response values": "Original response values",
    "Include": "Include",
    "Source ID": "Source ID",
    "Include response {{value1}}": "Include response {{value1}}",
    "Missing": "Missing",
    "Previous": "Previous",
    "Next": "Next",
    "The file could not be read.": "The file could not be read.",
    "The import could not be saved. You can retry.": "The import could not be saved. You can retry.",
    "Import survey responses": "Import survey responses",
    "Bring your survey data": "Bring your survey data",
    "Upload a response export from QuestionPro, Qualtrics, or another survey platform. Review the column mapping before saving.": "Upload a response export from QuestionPro, Qualtrics, or another survey platform. Review the column mapping before saving.",
    "Close": "Close",
    "Choose CSV, TSV, or Excel": "Choose CSV, TSV, or Excel",
    "Choose response file": "Choose response file",
    "Dataset name": "Dataset name",
    "Worksheet": "Worksheet",
    "Column mapping and example values": "Column mapping and example values",
    "Column / question": "Column / question",
    "Analyze as": "Analyze as",
    "Examples": "Examples",
    "Label for {{value1}}": "Label for {{value1}}",
    "Type for {{value1}}": "Type for {{value1}}",
    "Numeric": "Numeric",
    "Single category": "Single category",
    "Multiple choices": "Multiple choices",
    "Open-ended text": "Open-ended text",
    "Response ID": "Response ID",
    "Exclude": "Exclude",
    "Choice separator": "Choice separator",
    "blank": "blank",
    "Missing codes for {{value1}}": "Missing codes for {{value1}}",
    "responses ·": "responses ·",
    "analysis variables": "analysis variables",
    "Importing…": "Importing…",
    "Import dataset": "Import dataset",
    "Studies could not be loaded.": "Studies could not be loaded.",
    "Research analysis": "Research analysis",
    "Quantitative Studio": "Quantitative Studio",
    "Explore your survey data. Compare groups, inspect the numbers, and save analyses you can reproduce.": "Explore your survey data. Compare groups, inspect the numbers, and save analyses you can reproduce.",
    "Import survey data": "Import survey data",
    "Retry": "Retry",
    "Your studies": "Your studies",
    "Search studies": "Search studies",
    "Loading your studies…": "Loading your studies…",
    "No matching studies": "No matching studies",
    "Start with a survey export": "Start with a survey export",
    "Try another search.": "Try another search.",
    "Import CSV or Excel responses, or collect responses in a QuestionPunk study.": "Import CSV or Excel responses, or collect responses in a QuestionPunk study.",
    "completed responses": "completed responses",
    "Showing up to 200 recent studies. Descriptive statistics and group comparisons; advanced inferential methods are not yet available.": "Showing up to 200 recent studies. Descriptive statistics and group comparisons; advanced inferential methods are not yet available.",
    "Valid respondents": "Valid respondents",
    "Invalid": "Invalid",
    "Weight sum": "Weight sum",
    "Effective n": "Effective n",
    "Mean": "Mean",
    "Median": "Median",
    "Minimum": "Minimum",
    "Maximum": "Maximum",
    "Sample standard deviation": "Sample standard deviation",
    "Analysis results": "Analysis results",
    "valid respondents": "valid respondents",
    "included of": "included of",
    "available ·": "available ·",
    "excluded ·": "excluded ·",
    "Weighted by {{value1}}": "Weighted by {{value1}}",
    "Unweighted": "Unweighted",
    "No valid responses match this analysis. Adjust the filters or inspect missing and invalid values below.": "No valid responses match this analysis. Adjust the filters or inspect missing and invalid values below.",
    "Response distribution": "Response distribution",
    "{{value1}} by {{value2}}": "{{value1}} by {{value2}}",
    "Measure": "Measure",
    "n=": "n=",
    "Show work · Method & bases": "Show work · Method & bases",
    "responses have no valid comparison group.": "responses have no valid comparison group.",
    "Engine:": "Engine:",
    "Question or variable": "Question or variable",
    "Choose a variable": "Choose a variable",
    "Compare by": "Compare by",
    "No comparison": "No comparison",
    "Response weights": "Response weights",
    "Filters & research purpose": "Filters & research purpose",
    " · {{value1}} filters": " · {{value1}} filters",
    "Additional missing codes for this variable": "Additional missing codes for this variable",
    "Research question (optional)": "Research question (optional)",
    "What are you trying to understand?": "What are you trying to understand?",
    "All filters must match. Missing values do not match a filter.": "All filters must match. Missing values do not match a filter.",
    "Filter {{value1}} variable": "Filter {{value1}} variable",
    "Condition": "Condition",
    "Equals / includes": "Equals / includes",
    "Does not equal": "Does not equal",
    "At least": "At least",
    "At most": "At most",
    "Is answered": "Is answered",
    "Value": "Value",
    "Remove filter {{value1}}": "Remove filter {{value1}}",
    "Add filter": "Add filter",
    "manually excluded responses": "manually excluded responses",
    "Clear exclusions": "Clear exclusions",
    "This study could not be opened.": "This study could not be opened.",
    "Opening your dataset…": "Opening your dataset…",
    "Reload": "Reload",
    "Quantitative analysis": "Quantitative analysis",
    "available responses ·": "available responses ·",
    "variables ·": "variables ·",
    "Reload data": "Reload data",
    "Analyzing": "Analyzing",
    "completed responses. The study owner’s account limits access to individual responses. These results cover only the accessible subset.": "completed responses. The study owner’s account limits access to individual responses. These results cover only the accessible subset.",
    "Dataset scope & availability": "Dataset scope & availability",
    "Source signature:": "Source signature:",
    "Variables": "Variables",
    "Search variables": "Search variables",
    "Find a variable": "Find a variable",
    "Saved analyses": "Saved analyses",
    "Save a result to return to its settings and export it later.": "Save a result to return to its settings and export it later.",
    "Data changed · rerun needed": "Data changed · rerun needed",
    "Analysis workspace": "Analysis workspace",
    "Analysis": "Analysis",
    "Analysis name": "Analysis name",
    "Calculating…": "Calculating…",
    "Run analysis": "Run analysis",
    "Save analysis": "Save analysis",
    "You can explore this dataset. Editing access is needed to save an analysis.": "You can explore this dataset. Editing access is needed to save an analysis.",
    "Settings changed. Run the analysis to update the results below.": "Settings changed. Run the analysis to update the results below.",
    "Choose a variable to calculate a distribution or numeric summary.": "Choose a variable to calculate a distribution or numeric summary.",
    "Export format": "Export format",
    "Table · CSV": "Table · CSV",
    "Analysis · JSON": "Analysis · JSON",
    "Reproduction · Node.js": "Reproduction · Node.js",
    "Download": "Download",
    "Saved to this study": "Saved to this study",
    "Includes response values used by this analysis and the exact calculation. Run locally with": "Includes response values used by this analysis and the exact calculation. Run locally with",
    ". Keep the file private.": ". Keep the file private.",
    "e.g. 99, DK": "e.g. 99, DK",
    "Workspace": "Workspace",
    "The analysis variable no longer exists.": "The analysis variable no longer exists.",
    "The grouping variable no longer exists.": "The grouping variable no longer exists.",
    "Choose a different, single-choice categorical variable for groups.": "Choose a different, single-choice categorical variable for groups.",
    "Weights require a numeric variable.": "Weights require a numeric variable.",
    "Choose a numeric or categorical variable. Open-ended answers belong in Qualitative Coding.": "Choose a numeric or categorical variable. Open-ended answers belong in Qualitative Coding.",
    "Numeric comparisons need a numeric variable and a valid number.": "Numeric comparisons need a numeric variable and a valid number.",
    "Every included response needs a finite, positive weight. Correct the weight column or exclude those responses.": "Every included response needs a finite, positive weight. Correct the weight column or exclude those responses.",
    "Weights are outside the reliable numeric range. Rescale them before analysis.": "Weights are outside the reliable numeric range. Rescale them before analysis.",
    "Values are too large to calculate reliably. Rescale this variable.": "Values are too large to calculate reliably. Rescale this variable.",
    "This variable has more than 200 categories. Recode it or treat it as open-ended text.": "This variable has more than 200 categories. Recode it or treat it as open-ended text.",
    "All included responses": "All included responses",
    "Choose a grouping variable with at most 50 categories.": "Choose a grouping variable with at most 50 categories.",
    "Descriptive analysis; no significance or causal claim is made.": "Descriptive analysis; no significance or causal claim is made.",
    "Percentages use valid respondents for each column. Missing and invalid outcomes are excluded from that base.": "Percentages use valid respondents for each column. Missing and invalid outcomes are excluded from that base.",
    "Each choice counts a respondent once. Percentages can total more than 100%.": "Each choice counts a respondent once. Percentages can total more than 100%.",
    "Respondents with no valid group remain in the overall result but not in group columns.": "Respondents with no valid group remain in the overall result but not in group columns.",
    "Raw n counts respondents. Weighted totals use the selected weights; effective n is (sum w)² / sum(w²).": "Raw n counts respondents. Weighted totals use the selected weights; effective n is (sum w)² / sum(w²).",
    "Weighted median is the first sorted value reaching half the cumulative weight. Weighted standard deviation and inferential tests are not provided.": "Weighted median is the first sorted value reaching half the cumulative weight. Weighted standard deviation and inferential tests are not provided.",
    "Numeric standard deviation uses n − 1; it is unavailable with fewer than two valid responses.": "Numeric standard deviation uses n − 1; it is unavailable with fewer than two valid responses.",
    "The file needs a header and at least one response.": "The file needs a header and at least one response.",
    "Import up to 100 columns at a time.": "Import up to 100 columns at a time.",
    "The file contains no response rows.": "The file contains no response rows.",
    "Import up to 5,000 response rows at a time.": "Import up to 5,000 response rows at a time.",
    "Review the suggested types, excluded columns, and missing-value codes before importing. Every displayed response row will be imported.": "Review the suggested types, excluded columns, and missing-value codes before importing. Every displayed response row will be imported.",
    "Qualtrics metadata header rows detected. Multi-column checkbox/matrix questions remain separate columns; review their meaning before analysis. Test and incomplete rows are not automatically removed.": "Qualtrics metadata header rows detected. Multi-column checkbox/matrix questions remain separate columns; review their meaning before analysis. Test and incomplete rows are not automatically removed.",
    "Potential identifier columns start excluded. You can change their roles below.": "Potential identifier columns start excluded. You can change their roles below.",
    "The file is not valid UTF-8. Save it as UTF-8 CSV and try again.": "The file is not valid UTF-8. Save it as UTF-8 CSV and try again.",
    "Study not found.": "Study not found.",
    "Only completed, real responses available to your account are included. Preview, incomplete, and synthetic responses are excluded.": "Only completed, real responses available to your account are included. Preview, incomplete, and synthetic responses are excluded.",
    "This study exceeds the 100-variable dataset limit. No partial dataset was analyzed.": "This study exceeds the 100-variable dataset limit. No partial dataset was analyzed.",
    "This study exceeds the 5,000-response dataset limit. No partial dataset was analyzed.": "This study exceeds the 5,000-response dataset limit. No partial dataset was analyzed.",
    "This study exceeds the 100-variable dataset limit.": "This study exceeds the 100-variable dataset limit.",
    "Untitled study": "Untitled study",
    "QuestionPunk / shared study": "QuestionPunk / shared study",
    "This request was already used with different import data.": "This request was already used with different import data.",
    "This workbook contains too many internal files. Export a single response worksheet as CSV.": "This workbook contains too many internal files. Export a single response worksheet as CSV.",
    "This workbook expands beyond the 24 MB limit. Export a single response worksheet as CSV.": "This workbook expands beyond the 24 MB limit. Export a single response worksheet as CSV.",
    "Percentage base": "Percentage base",
    "Valid respondents in each group": "Valid respondents in each group",
    "Included responses": "Included responses",
    "Excluded responses": "Excluded responses",
    "Valid n": "Valid n",
    "Missing n": "Missing n",
    "Invalid n": "Invalid n",
    "Sample SD": "Sample SD",
    "Weighted count": "Weighted count",
    "The calculation engine changed. Rerun and save this analysis before downloading its reproduction.": "The calculation engine changed. Rerun and save this analysis before downloading its reproduction.",
    "{{included}} included of {{population}} available · {{excluded}} excluded": "{{included}} included of {{population}} available · {{excluded}} excluded",
    "{{responses}} available responses · {{variables}} variables · {{source}}": "{{responses}} available responses · {{variables}} variables · {{source}}",
    "Analyzing {{available}} of {{total}} completed responses. The study owner’s account limits access to individual responses. These results cover only the accessible subset.": "Analyzing {{available}} of {{total}} completed responses. The study owner’s account limits access to individual responses. These results cover only the accessible subset.",
    "{{variable}} overview": "{{variable}} overview",
    "New analysis": "New analysis",
    "numeric": "Numeric",
    "categorical": "Single category",
    "multiselect": "Multiple choices",
    "text": "Open-ended text",
    "Descriptive statistics": "Descriptive statistics",
    "Group comparison": "Group comparison",
    "Crosstab": "Crosstab",
    "Most recent 10 analyses": "Most recent 10 analyses",
    "This dataset exceeds the 32 MB analysis limit. No results have been calculated.": "This dataset exceeds the 32 MB analysis limit. No results have been calculated.",
    "The result exceeds 2 MB. Choose fewer groups or categories.": "The result exceeds 2 MB. Choose fewer groups or categories.",
    "The saved result is unavailable or its source changed. Reload the data and run this definition again.": "The saved result is unavailable or its source changed. Reload the data and run this definition again.",
    "The saved analysis could not be opened.": "The saved analysis could not be opened.",
    "Up to 3 MB · 5,000 responses · 100 columns · 100,000 imported cells": "Up to 3 MB · 5,000 responses · 100 columns · 100,000 imported cells",
    "Import up to 100,000 response cells at a time. Include fewer columns or split the response rows.": "Import up to 100,000 response cells at a time. Include fewer columns or split the response rows.",
    "Questions with carried-forward choices are not included because their option positions depend on each respondent.": "Questions with carried-forward choices are not included because their option positions depend on each respondent.",
    "Choice keys use the study’s current language dictionary. Historical labels that no longer match it remain separate categories; review them before comparing groups.": "Choice keys use the study’s current language dictionary. Historical labels that no longer match it remain separate categories; review them before comparing groups.",
    "Studies": "Studies",
    "Imported dataset": "Imported dataset",
    "Back to study analysis": "Back to study analysis",
    "Qualitative coding": "Qualitative coding",
    "95% interval for the mean": "95% interval for the mean",
    "95% CI": "95% CI",
    "95% interval: {{range}}": "95% interval: {{range}}",
    "Separable": "Separable",
    "Not separable": "Not separable",
    "Not tested": "Not tested",
    "These groups differ by more than sampling error explains, so the comparison is reportable.": "These groups differ by more than sampling error explains, so the comparison is reportable.",
    "The differences between these groups are within sampling error at this sample size. Do not report one group as higher than another.": "The differences between these groups are within sampling error at this sample size. Do not report one group as higher than another.",
    "F({{df}}, {{df2}}) = {{statistic}}, p = {{p}}": "F({{df}}, {{df2}}) = {{statistic}}, p = {{p}}",
    "χ² = {{statistic}}, df = {{df}}, p = {{p}}": "χ² = {{statistic}}, df = {{df}}, p = {{p}}",
    "Choose a value": "Choose a value",
    "Blank only": "Blank only",
    "{{variable}} by {{group}}": "{{variable}} by {{group}}",
    "Descriptive analysis. Tests and intervals describe sampling error in this data; they are not a causal claim.": "Descriptive analysis. Tests and intervals describe sampling error in this data; they are not a causal claim.",
    "Intervals are 95%: means use Student’s t, shares use the Wilson score interval on respondent counts.": "Intervals are 95%: means use Student’s t, shares use the Wilson score interval on respondent counts.",
    "Weighted median is the first sorted value reaching half the cumulative weight. Weighted standard deviation and significance tests are not provided; the mean’s interval uses the effective sample size.": "Weighted median is the first sorted value reaching half the cumulative weight. Weighted standard deviation and significance tests are not provided; the mean’s interval uses the effective sample size.",
    "Only one group has valid responses, so there is nothing to compare.": "Only one group has valid responses, so there is nothing to compare.",
    "Significance testing is not applied to weighted results. Compare the intervals, which already account for the effective sample size.": "Significance testing is not applied to weighted results. Compare the intervals, which already account for the effective sample size.",
    "At least two groups need two or more valid responses to be compared.": "At least two groups need two or more valid responses to be compared.",
    "The groups carry no within-group variation, so no test applies.": "The groups carry no within-group variation, so no test applies.",
    "The group means could not be tested reliably at this sample size.": "The group means could not be tested reliably at this sample size.",
    "Multi-select answers let one respondent appear in several cells, so a single table-wide test does not apply. Compare the intervals on each choice.": "Multi-select answers let one respondent appear in several cells, so a single table-wide test does not apply. Compare the intervals on each choice.",
    "A crosstab needs at least two response categories to test.": "A crosstab needs at least two response categories to test.",
    "No valid responses fall into the crosstab.": "No valid responses fall into the crosstab.",
    "The table has too few cells to test.": "The table has too few cells to test.",
    "More than a fifth of the cells expect fewer than five respondents, so a chi-square test would not be reliable here. Compare the intervals on each row instead.": "More than a fifth of the cells expect fewer than five respondents, so a chi-square test would not be reliable here. Compare the intervals on each row instead.",
    "The table could not be tested reliably at this sample size.": "The table could not be tested reliably at this sample size.",
    "Not saved — save to keep it and to download the reproduction": "Not saved — save to keep it and to download the reproduction",
    "Summarize & compare groups": "Summarize & compare groups",
    "Distributions, group differences, and crosstabs.": "Distributions, group differences, and crosstabs.",
    "Pearson correlation": "Pearson correlation",
    "How closely do two numeric measures move together?": "How closely do two numeric measures move together?",
    "Spearman rank correlation": "Spearman rank correlation",
    "Compare the ordering of two measures, including rating scales.": "Compare the ordering of two measures, including rating scales.",
    "Multiple linear regression": "Multiple linear regression",
    "Estimate associations with an outcome while accounting for other factors.": "Estimate associations with an outcome while accounting for other factors.",
    "Analysis method": "Analysis method",
    "Correlation and regression need at least two numeric variables. Check the variable types in Data & variables.": "Correlation and regression need at least two numeric variables. Check the variable types in Data & variables.",
    "Outcome / first variable": "Outcome / first variable",
    "Second variable": "Second variable",
    "Predictors (choose 1–8)": "Predictors (choose 1–8)",
    "Uses unweighted observations with complete values for every selected variable. Filters and exclusions still apply.": "Uses unweighted observations with complete values for every selected variable. Filters and exclusions still apply.",
    "{{count}} observations shown. Horizontal axis: {{x}}. Vertical axis: {{y}}.": "{{count}} observations shown. Horizontal axis: {{x}}. Vertical axis: {{y}}.",
    "{{n}} complete observations · {{omitted}} incomplete · {{excluded}} excluded by filters or selection": "{{n}} complete observations · {{omitted}} incomplete · {{excluded}} excluded by filters or selection",
    "spearman": "spearman",
    "Spearman rho": "Spearman rho",
    "Pearson r": "Pearson r",
    "Two-sided p-value": "Two-sided p-value",
    "95% confidence interval": "95% confidence interval",
    "Higher values tend to occur together.": "Higher values tend to occur together.",
    "Higher values on one measure tend to accompany lower values on the other.": "Higher values on one measure tend to accompany lower values on the other.",
    "No association was detected by this correlation measure.": "No association was detected by this correlation measure.",
    "Correlation does not establish causation.": "Correlation does not establish causation.",
    "Relationship between the measures": "Relationship between the measures",
    "R²": "R²",
    "Adjusted R²": "Adjusted R²",
    "Residual standard error": "Residual standard error",
    "Model p-value": "Model p-value",
    "The selected predictors account for {{percent}}% of the outcome variation in these observations. This is an in-sample fit, not validated predictive accuracy.": "The selected predictors account for {{percent}}% of the outcome variation in these observations. This is an in-sample fit, not validated predictive accuracy.",
    "Each coefficient estimates an outcome change for a one-unit predictor increase, holding the other selected predictors fixed. An interval crossing zero leaves the direction uncertain.": "Each coefficient estimates an outcome change for a one-unit predictor increase, holding the other selected predictors fixed. An interval crossing zero leaves the direction uncertain.",
    "Regression coefficients": "Regression coefficients",
    "Intercept": "Intercept",
    "Fitted vs. observed": "Fitted vs. observed",
    "Fitted outcome": "Fitted outcome",
    "Observed outcome": "Observed outcome",
    "Residuals vs. fitted": "Residuals vs. fitted",
    "Residual": "Residual",
    "Curves, funnels, or isolated points in the residual plot may signal a poor linear model. VIF describes predictor overlap; values above 5 warrant inspection.": "Curves, funnels, or isolated points in the residual plot may signal a poor linear model. VIF describes predictor overlap; values above 5 warrant inspection.",
    "Charts show {{shown}} evenly sampled observations; calculations and code exports use all {{total}}.": "Charts show {{shown}} evenly sampled observations; calculations and code exports use all {{total}}.",
    "Reproduce in Python or R": "Reproduce in Python or R",
    "Download runnable code with the selected analysis data and method settings. Native statistical libraries recalculate the results and verify them against this analysis. No save is required.": "Download runnable code with the selected analysis data and method settings. Native statistical libraries recalculate the results and verify them against this analysis. No save is required.",
    "Download Python (.py)": "Download Python (.py)",
    "Download R (.R)": "Download R (.R)",
    "Files contain response values after filters and exclusions. Python requires NumPy, SciPy, and statsmodels; R requires jsonlite. Keep downloaded files private.": "Files contain response values after filters and exclusions. Python requires NumPy, SciPy, and statsmodels; R requires jsonlite. Keep downloaded files private.",
    "{{method}}: {{variable}} with {{predictors}}": "{{method}}: {{variable}} with {{predictors}}",
    "Predictor": "Predictor",
    "Coefficient": "Coefficient",
    "Standard error": "Standard error",
    "Standardized coefficient": "Standardized coefficient",
    "VIF": "VIF",
    "Linear regression": "Linear regression",
    "Not saved — save to return to this analysis later": "Not saved — save to return to this analysis later",
    "A filter variable no longer exists.": "A filter variable no longer exists.",
    "There are too few complete observations for this analysis. Add responses or select fewer predictors.": "There are too few complete observations for this analysis. Add responses or select fewer predictors.",
    "The selected values exceed the reliable numeric range. Rescale them before analysis.": "The selected values exceed the reliable numeric range. Rescale them before analysis.",
    "Each selected variable needs variation. Remove constant variables.": "Each selected variable needs variation. Remove constant variables.",
    "The predictors are redundant or too strongly collinear. Remove an overlapping predictor and rerun.": "The predictors are redundant or too strongly collinear. Remove an overlapping predictor and rerun.",
    "The fitted model exceeds the reliable numeric range. Rescale the selected variables.": "The fitted model exceeds the reliable numeric range. Rescale the selected variables.",
    "Correlation and regression use unweighted observations without a comparison group. Clear groups and weights first.": "Correlation and regression use unweighted observations without a comparison group. Clear groups and weights first.",
    "Choose a numeric outcome for correlation or regression.": "Choose a numeric outcome for correlation or regression.",
    "Choose one to eight different predictors, excluding the outcome.": "Choose one to eight different predictors, excluding the outcome.",
    "Choose exactly one second variable for a correlation.": "Choose exactly one second variable for a correlation.",
    "All predictors must be numeric variables.": "All predictors must be numeric variables.",
    "Only observations with a valid numeric outcome and every selected predictor are analyzed. No missing values are imputed.": "Only observations with a valid numeric outcome and every selected predictor are analyzed. No missing values are imputed.",
    "These are associations, not causal effects. Each row must represent an independent observation.": "These are associations, not causal effects. Each row must represent an independent observation.",
    "Ordinary least squares includes an intercept. Confidence intervals and p-values use classical homoskedastic standard errors and Student’s t; inspect residuals and collinearity before interpretation.": "Ordinary least squares includes an intercept. Confidence intervals and p-values use classical homoskedastic standard errors and Student’s t; inspect residuals and collinearity before interpretation.",
    "Standardized coefficients describe a one-standard-deviation predictor change, holding the other selected predictors fixed. They are not causal importance scores.": "Standardized coefficients describe a one-standard-deviation predictor change, holding the other selected predictors fixed. They are not causal importance scores.",
    "Some predictors have VIF above 5. Their overlap can make coefficients unstable.": "Some predictors have VIF above 5. Their overlap can make coefficients unstable.",
    "Residual variance is effectively zero. Coefficient and model significance tests are unavailable for this exact fit.": "Residual variance is effectively zero. Coefficient and model significance tests are unavailable for this exact fit.",
    "Spearman correlation uses average ranks for ties and an asymptotic two-sided t test. The p-value is an approximation, particularly for small samples; no confidence interval is reported.": "Spearman correlation uses average ranks for ties and an asymptotic two-sided t test. The p-value is an approximation, particularly for small samples; no confidence interval is reported.",
    "Pearson correlation measures a linear association. Its two-sided test uses Student’s t; the 95% interval uses Fisher’s z when at least four complete pairs exist.": "Pearson correlation measures a linear association. Its two-sided test uses Student’s t; the 95% interval uses Fisher’s z when at least four complete pairs exist.",
    "Intervals are 95%: the mean uses Student’s t on the effective sample size; each share uses the Wilson score interval on the weighted share over the effective sample size.": "Intervals are 95%: the mean uses Student’s t on the effective sample size; each share uses the Wilson score interval on the weighted share over the effective sample size.",
    "Segmentation (k-means)": "Segmentation (k-means)",
    "Find groups with similar responses and export respondent segments.": "Find groups with similar responses and export respondent segments.",
    "Principal components (PCA)": "Principal components (PCA)",
    "Reduce correlated measures to a few patterns and export component scores.": "Reduce correlated measures to a few patterns and export component scores.",
    "Advanced methods need at least two numeric variables. Check the variable types in Data & variables.": "Advanced methods need at least two numeric variables. Check the variable types in Data & variables.",
    "Segment {{number}}": "Segment {{number}}",
    "Download respondent segments": "Download respondent segments",
    "Download component scores": "Download component scores",
    "{{count}} respondents": "{{count}} respondents",
    "Silhouette:": "Silhouette:",
    "Between-segment variance:": "Between-segment variance:",
    "Seed:": "Seed:",
    "Higher silhouette values indicate better separation (−1 to 1). Compare different segment counts and seeds; this score does not establish the true number of customer types.": "Higher silhouette values indicate better separation (−1 to 1). Compare different segment counts and seeds; this score does not establish the true number of customer types.",
    "Silhouette uses {{sample}} observations compared with all {{total}} complete observations.": "Silhouette uses {{sample}} observations compared with all {{total}} complete observations.",
    "What distinguishes each segment?": "What distinguishes each segment?",
    "Profile values": "Profile values",
    "Means in original units": "Means in original units",
    "Standardized differences": "Standardized differences",
    "Compare each segment’s mean with the overall mean for the same feature.": "Compare each segment’s mean with the overall mean for the same feature.",
    "Positive values are above the overall mean; negative values are below it, in sample standard deviations.": "Positive values are above the overall mean; negative values are below it, in sample standard deviations.",
    "Segment profiles": "Segment profiles",
    "Feature": "Feature",
    "Overall": "Overall",
    "At least one segment has fewer than ten observations. Inspect these respondents and check stability before treating the group as a useful segment.": "At least one segment has fewer than ten observations. Inspect these respondents and check stability before treating the group as a useful segment.",
    "Segments on the first two principal components": "Segments on the first two principal components",
    "Respondents on the first two principal components": "Respondents on the first two principal components",
    "PC{{number}} ({{percent}}% variance)": "PC{{number}} ({{percent}}% variance)",
    "The two-dimensional view can hide separation in other features. Charts show {{shown}} observations; calculations and respondent downloads use all {{total}}.": "The two-dimensional view can hide separation in other features. Charts show {{shown}} observations; calculations and respondent downloads use all {{total}}.",
    "Variance explained by each component": "Variance explained by each component",
    "The {{count}} retained components explain {{percent}}% of variation in the standardized features.": "The {{count}} retained components explain {{percent}}% of variation in the standardized features.",
    "Component loadings (feature correlations)": "Component loadings (feature correlations)",
    "Loadings near −1 or 1 indicate a strong relationship with that component. Signs identify direction, not good or bad responses. Components with negligible variance should not be interpreted.": "Loadings near −1 or 1 indicate a strong relationship with that component. Signs identify direction, not good or bad responses. Components with negligible variance should not be interpreted.",
    "Features (choose 2–12)": "Features (choose 2–12)",
    "Number of segments": "Number of segments",
    "Random seed (check stability)": "Random seed (check stability)",
    "Components to retain": "Components to retain",
    "Features use equal scale (sample z-scores). Choose meaningful numeric measures, not respondent IDs or category codes. Set missing codes per feature in Data & variables. Only complete, unweighted observations are used.": "Features use equal scale (sample z-scores). Choose meaningful numeric measures, not respondent IDs or category codes. Set missing codes per feature in Data & variables. Only complete, unweighted observations are used.",
    "Segmentation ({{count}} segments)": "Segmentation ({{count}} segments)",
    "{{method}}: {{features}}": "{{method}}: {{features}}",
    "Clear groups, weights, and additional missing codes. Set missing codes for each feature in Data & variables.": "Clear groups, weights, and additional missing codes. Set missing codes for each feature in Data & variables.",
    "Choose 2–12 different numeric features. The first feature must match the analysis variable.": "Choose 2–12 different numeric features. The first feature must match the analysis variable.",
    "All selected features must be numeric variables.": "All selected features must be numeric variables.",
    "Numeric and rating-scale features are centered and divided by their sample standard deviations. Every feature receives equal scale, including correlated features.": "Numeric and rating-scale features are centered and divided by their sample standard deviations. Every feature receives equal scale, including correlated features.",
    "Only complete observations are analyzed. Filters, manual exclusions, and each feature’s missing codes apply. No values are imputed or weighted.": "Only complete observations are analyzed. Filters, manual exclusions, and each feature’s missing codes apply. No values are imputed or weighted.",
    "PCA describes directions of variance, not validated latent factors. Repeated eigenvalues have no unique directions; a deterministic basis is used for reproducibility.": "PCA describes directions of variance, not validated latent factors. Repeated eigenvalues have no unique directions; a deterministic basis is used for reproducibility.",
    "K-means uses Euclidean distance, ten seeded k-means++ starts, and at most 100 Lloyd iterations per start. The converged solution with the smallest within-segment sum of squares is retained.": "K-means uses Euclidean distance, ten seeded k-means++ starts, and at most 100 Lloyd iterations per start. The converged solution with the smallest within-segment sum of squares is retained.",
    "Segment numbers are ordered by size, then centroid. They are local to this run and may change after filtering or rerunning with different features or settings.": "Segment numbers are ordered by size, then centroid. They are local to this run and may change after filtering or rerunning with different features or settings.",
    "Silhouette ranges from −1 to 1; higher values indicate better separation. Up to 500 evenly sampled observations are compared with all complete observations. Singleton segments contribute zero.": "Silhouette ranges from −1 to 1; higher values indicate better separation. Up to 500 evenly sampled observations are compared with all complete observations. Singleton segments contribute zero.",
    "Segments are exploratory groups, not proven customer types. Inspect outliers, correlated features, small segments, and stability across different segment counts and seeds before using them.": "Segments are exploratory groups, not proven customer types. Inspect outliers, correlated features, small segments, and stability across different segment counts and seeds before using them.",
    "Choose 2–12 numeric features with at least three complete observations.": "Choose 2–12 numeric features with at least three complete observations.",
    "Choose between two and six components, no more than the number of features.": "Choose between two and six components, no more than the number of features.",
    "The random seed must be an integer between 1 and 2147483646.": "The random seed must be an integer between 1 and 2147483646.",
    "All selected features must contain finite numeric values.": "All selected features must contain finite numeric values.",
    "Remove constant features or rescale values outside the reliable numeric range.": "Remove constant features or rescale values outside the reliable numeric range.",
    "Rescale the selected values before analysis.": "Rescale the selected values before analysis.",
    "PCA did not converge. Inspect and rescale the selected features.": "PCA did not converge. Inspect and rescale the selected features.",
    "PCA directions could not be resolved.": "PCA directions could not be resolved.",
    "Choose 2–8 segments and include more complete observations than segments.": "Choose 2–8 segments and include more complete observations than segments.",
    "There are fewer distinct response patterns than requested segments. Choose fewer segments.": "There are fewer distinct response patterns than requested segments. Choose fewer segments.",
    "No segmentation converged without empty groups. Choose fewer segments or different features.": "No segmentation converged without empty groups. Choose fewer segments or different features.",
    "The result exceeds 2 MB. Filter to fewer responses or select fewer components, groups, or categories.": "The result exceeds 2 MB. Filter to fewer responses or select fewer components, groups, or categories."
  },
  "codingStudio": {
    "hierarchy": {
      "subThemeOf": "Sub-theme of",
      "topLevel": "None (a top-level theme)",
      "view": "View it reports",
      "noView": "Not said",
      "views": {
        "negative": "A problem",
        "positive": "A good experience",
        "neutral": "Neither"
      }
    },
    "name": "Qualitative analysis",
    "navigation": {
      "overview": "Overview",
      "data": "Data sources",
      "codebook": "Codebook",
      "calibration": "Check coding",
      "coding": "AI coding",
      "review": "Read & code",
      "explore": "Explore",
      "export": "Export & audit"
    },
    "aiDraft": {
      "title": "Draft codebook with AI",
      "intro": "Generate a complete starting codebook without reading responses yourself. Start from your study context, or let AI read the responses for you.",
      "sampleHint": "Drafting reads up to 60 distinct visible responses within a 24,000-character sample. It uses study AI credits. It does not code the full dataset or guarantee that every theme is covered.",
      "sampled": "Drafted from {{sampled}} of {{total}} distinct responses. Choose the codes to add.",
      "saveHint": "Your existing codes are kept. Save a draft, review its definitions, then approve it for a run with one model or three independent models.",
      "generate": "Generate codebook draft",
      "generating": "Drafting codes…",
      "save": "Save selected codes as draft",
      "failed": "AI drafting failed. Your existing codes are unchanged. You can try again.",
      "saveFailed": "The draft could not be saved. If the codebook changed, close this draft, click Refresh in the workspace, then generate again.",
      "source": "Build codes from",
      "fromContext": "Study context only",
      "fromResponses": "Responses — AI reads them",
      "contextLabel": "Study context",
      "contextPlaceholder": "What is the study about? What do you want to learn, who is taking part, and which themes should the coding include or exclude?",
      "contextRequired": "Describe your research aims in at least 20 characters. No responses or highlights are required.",
      "contextOptional": "Optional: add research aims to guide the codes AI discovers in the responses (at least 20 characters).",
      "contextHint": "AI uses your brief and the selected question to propose provisional codes and definitions. No responses are read and no evidence quotes are invented. Uses study AI credits.",
      "contextDrafted": "Drafted from study context only. These are anticipated concepts, not findings from responses. Choose the codes to add."
    },
    "agreement": {
      "title": "Compare AI and manual coding",
      "intro": "Compare each model’s original assignments and your recorded calibration pass on the same responses and codebook. Final review edits stay separate.",
      "empty": "Run AI coding with one model or the three-model panel, then return to compare the saved decisions.",
      "run": "Coding run",
      "compare": "Compare coders",
      "yourPass": "Your calibration pass",
      "failed": "The saved decisions could not be compared. Try again.",
      "coverage": "{{coded}} of {{total}} currently visible responses have completed coding on unchanged text. Responses with your calibration pass: {{manual}}. Codebook v{{version}}.",
      "pairs": "Pairwise agreement on complete code sets",
      "coders": "Coders",
      "pairedAnswers": "Paired responses",
      "sameCodes": "Same codes",
      "manualHint": "Record your own calibration pass above to compare it with each model. Ordinary review edits and accepted AI suggestions are not counted as an independent pass.",
      "inspectPair": "Inspect a coder pair",
      "perCode": "Agreement for each code",
      "bothApplied": "Both applied",
      "bothAbsent": "Both absent",
      "only": "only",
      "kappa": "Cohen’s κ",
      "alpha": "Krippendorff’s α",
      "method": "Units are whole responses under the run’s fixed codebook. Missing passes are excluded; an explicit no-code decision is included. κ and α measure each code separately; — means no paired data or no variation. These describe agreement, not correctness, and AI agreement does not establish reliability between human coders. For an independent comparison, record your calibration before viewing AI output.",
      "review": "Return to the text and review disagreements"
    },
    "workflow": {
      "overviewIntro": "Start with AI coding, then review the results, refine your codebook, and check the coding. You can also skip AI and code manually.",
      "readHighlight": "Read, review, and confirm codes",
      "readHighlightDetail": "Review AI codes against the original responses, confirm or correct them, and highlight passages to add your own codes.",
      "refineCodes": "Refine your emerging codebook",
      "refineCodesDetail": "Review the codes you created in context. Clarify definitions and combine related ideas.",
      "applyWithAI": "Start with AI coding",
      "applyWithAIDetail": "Draft a codebook with AI, approve its definitions, then code the responses with one model or three independent model passes.",
      "checkCodingDetail": "Code a sample independently, then compare it with the model decisions.",
      "codebookIntro": "Start with codes drafted from your study context, discover them in responses, or create them manually. Refine definitions and merge related ideas here.",
      "codebookEmptyTitle": "Start your codebook with AI.",
      "codebookEmptyDetail": "Let AI draft codes from your responses or study context, then review and approve the definitions. You can also add codes yourself or create them as you read.",
      "addPredefinedCode": "Add a predefined code",
      "exploreEmptyDetail": "Start by reading responses, highlighting passages, and saving your first codes. Your themes and their source evidence will take shape here.",
      "developCodesFirst": "Develop your codes from the responses first.",
      "calibrationEmptyDetail": "Read and highlight a few responses to develop your codes. Once you have approved the definitions, return here to check how consistently they are applied.",
      "runsIntro": "Start an automatic analysis, then review the codebook and coded passages. You can also code manually or use your own codebook.",
      "skipAI": "Skip AI and code manually",
      "reviewAICodes": "Review codes in Read & code",
      "draftBeforeRun": "Let AI propose codes from your responses or study context. Review and approve the draft, then return here to start coding.",
      "approveDraftTitle": "Review your draft codebook",
      "approveDraftDetail": "Check the code definitions and approve this version before starting an AI run.",
      "reviewDraft": "Review and approve codebook",
      "continueToAI": "Continue to AI coding",
      "firstCodeHint": "Read the response and highlight what stands out. Your codes will appear here as you create them.",
      "firstCodeSelected": "Name this passage to create your first code, or ask AI for suggestions below.",
      "noMatchingAnswers": "No answers match these filters.",
      "readEmptyDetail": "Collect or import responses, then return here to read and highlight them. You can develop your codes as you go."
    },
    "copy": {
      "calibrationJudgmentSaved": "Calibration judgment saved.",
      "thisJudgmentWasNotSaved": "This judgment was not saved.",
      "checkYourAssumptions": "CHECK YOUR ASSUMPTIONS",
      "agreeOnWhatGoodCodingLooksLike": "Agree on what good coding looks like.",
      "codeASmallSampleBeforeSeeingItsModelSuggestionsThenCompare": "Code a small sample before seeing its model suggestions, then compare the decisions.",
      "thisIsAPracticalCalibrationPassOverUpTo20Deterministically": "This is a practical calibration pass over up to 20 deterministically selected answers. It measures exact code-set agreement with your recorded judgments, not independent inter-rater reliability or production certification.",
      "startWithAnApprovedCodebook": "Start with an approved codebook.",
      "openCodebook": "Open codebook",
      "calibrationUsesAFixedVersionOfYourDefinitions": "Calibration uses a fixed version of your definitions.",
      "yourIndependentPass": "Your independent pass.",
      "modelSuggestionsHiddenInThisView": " · model suggestions hidden in this view",
      "noSelectedCodesRecordsAnExplicitNoCodeJudgment": "No selected codes records an explicit no-code judgment.",
      "saveContinue": "Save & continue ",
      "yourCalibrationPassIsRecorded": "Your calibration pass is recorded.",
      "noEligibleAnswersYet": "No eligible answers yet.",
      "runCodingOnThisCodebookToCompareYourJudgmentsWithModel": "Run coding on this codebook to compare your judgments with model suggestions.",
      "collectOrImportResponsesToBegin": "Collect or import responses to begin.",
      "compareAfterYouCode": "COMPARE AFTER YOU CODE",
      "whereDoInterpretationsDiffer": "Where do interpretations differ?",
      "compareOnlyJudgmentsRecordedAgainstTheSameSourceTextAndApproved": "Compare only judgments recorded against the same source text and approved codebook as the model run.",
      "showRecordedComparisons": "Show recorded comparisons",
      "of": " of ",
      "pairedAnswersHaveIdenticalCodeSets": " paired answers have identical code sets.",
      "yourCodes": "Your codes:",
      "noCode": "No code",
      "modelCodes": "Model codes:",
      "aSharedLanguage": "A SHARED LANGUAGE",
      "giveMeaningALittleStructure": "Give meaning a little structure.",
      "addACode": "Add a code",
      "clearDefinitionsMakeConsistentDecisionsPossible": "Clear definitions make consistent decisions possible.",
      "startWithWhatMatters": "Start with what matters.",
      "createYourFirstCode": "Create your first code",
      "defineTheThemesYouWantToUnderstandThenApproveTheCodebook": "Define the themes you want to understand, then approve the codebook for coding and review.",
      "codebookV": "Codebook v",
      "approved": "Approved",
      "draft": "Draft",
      "changesCreateANewVersionHistoricalJudgmentsKeepTheirOriginalCodebook": "Changes create a new version. Historical judgments keep their original codebook.",
      "reviewTheDefinitionsThenApproveThisVersionToUseItIn": "Review the definitions, then approve this version to use it in coding runs.",
      "approveVersion": "Approve version",
      "codes": " CODES",
      "ungrouped": "Ungrouped",
      "codeDefinition": "CODE DEFINITION",
      "edit": "Edit",
      "definition": "Definition",
      "includeWhen": "Include when",
      "noAdditionalInclusionRule": "No additional inclusion rule.",
      "excludeWhen": "Exclude when",
      "noAdditionalExclusionRule": "No additional exclusion rule.",
      "illustrativeExample": "Illustrative example",
      "illustrativeExamplesHelpExplainACodeSourceEvidenceIsPreservedSeparately": "Illustrative examples help explain a code. Source evidence is preserved separately with each coding decision.",
      "mergeIntoAnotherCode": "Merge into another code",
      "bringRelatedCodesTogether": "Bring related codes together.",
      "merge": "Merge ",
      "into": " into:",
      "destinationCode": "Destination code",
      "theDestinationSDefinitionIsRetainedThisCreatesADraftApprove": "The destination’s definition is retained. This creates a draft; approve it to apply the merge. Historical decisions retain their original IDs and versions.",
      "cancel": "Cancel",
      "saveMergeDraft": "Save merge draft",
      "refineTheDefinition": "Refine the definition.",
      "aNewIdeaClearlyDefined": "A new idea, clearly defined.",
      "codeName": "Code name",
      "group": "Group",
      "optional": "Optional",
      "codeColor": "Code color",
      "saving": "Saving…",
      "saveDraft": "Save draft",
      "memoSaved": "Memo saved.",
      "memoNotSavedYourDraftIsStillHere": "Memo not saved; your draft is still here.",
      "followTheThread": "FOLLOW THE THREAD",
      "seeThePatternsKeepThePeople": "See the patterns. Keep the people.",
      "exploreCodedAnswersThenReturnToTheWordsBehindEveryTheme": "Explore coded answers, then return to the words behind every theme.",
      "yourThemesWillTakeShapeHere": "Your themes will take shape here.",
      "buildYourCodebook": "Build your codebook",
      "approveACodebookAndCodeSomeResponsesToBegin": "Approve a codebook and code some responses to begin.",
      "searchCodedText": "Search coded text",
      "searchTheAnswers": "Search the answers…",
      "compareBy": "Compare by",
      "allRespondents": "All respondents",
      "segment": "Segment",
      "allSegments": "All segments",
      "matchingAnswersHaveAModelOutcomeOrHumanJudgmentThemePercentages": " matching answers have a model outcome or human judgment. Theme percentages use those ",
      "analyzedAnswersUnansweredAndFailedCodingAreNotTreatedAsNo": " analyzed answers; unanswered and failed coding are not treated as “no code.”",
      "whatKeepsComingUp": "What keeps coming up.",
      "v": "v",
      "multiCodeAssignmentsMeanPercentagesMayAddToMoreThan100": "Multi-code assignments mean percentages may add to more than 100%.",
      "analyticalMemo": "ANALYTICAL MEMO",
      "yourInterpretation": "Your interpretation",
      "connectThePatternToYourResearchQuestionPreserveNuanceContradictionsAnd": "Connect the pattern to your research question. Preserve nuance, contradictions, and next questions.",
      "yourNotes": "Your notes",
      "whatIsThisThemeTellingUs": "What is this theme telling us?",
      "lastSavedValue": "Last saved {{value1}}",
      "notYetSaved": "Not yet saved",
      "saveMemo": "Save memo",
      "themesAcross": "Themes across ",
      "code": "Code",
      "of2": "of ",
      "countsOfAnalyzedRespondents": "Counts of analyzed respondents.",
      "showingTheFirstSixSegmentsUseTheFilterForOthers": "Showing the first six segments; use the filter for others.",
      "descriptiveComparisonsNoSignificanceClaim": "Descriptive comparisons; no significance claim.",
      "backToTheOriginalVoices": "Back to the original voices.",
      "answers": " answers · ",
      "humanReviewed": "Human reviewed",
      "modelCoded": "Model coded",
      "noCodedAnswersMatchThisThemeAndFilter": "No coded answers match this theme and filter.",
      "showing24AnswersSearchToNarrowTheViewOrExportThe": "Showing 24 answers. Search to narrow the view or export the full dataset.",
      "codingStudioMethodsRecordStudyValueQuestionValueExportedValueSource": "Qualitative analysis — methods record\n\nStudy: {{value1}}\nQuestion: {{value2}}\nExported: {{value3}}\nSource: {{value4}}\nVisible completed real respondents: {{value5}}\nExcluded source answers: {{value6}}\nAnalyzed answers: {{value7}}\nHuman-reviewed answers: {{value8}}\nApproved codebook revision: {{value9}}\n\nUnit of analysis: one respondent’s answer to one question; interview turns are joined in source order. Individual-response access follows the account’s visibility limits. The workspace currently includes all collected study versions.\n\nCoding uses explicit definitions with multi-code assignments and exact evidence excerpts. A one-model pass uses that model’s output; a three-model panel uses majority assignments and marks disagreements. Model/provider or evidence-validation failures are explicit failed units, not no-code outcomes.\n\nHuman judgments override suggestions for the exact source reviewed. Earlier decisions retain their original codebook; code merges project historical IDs without rewriting those decisions. Blank cells in matrix code columns denote unprocessed/excluded/failed answers; 0 denotes an analyzed absence.\n\nCalibration is descriptive exact-code-set agreement on up to 20 selected answers. It is not an independent inter-rater reliability study, causal inference, or a certification. Researcher review remains necessary.\n\nRecent runs:\n{{value10}}\n",
      "researchThatTravelsWell": "RESEARCH THAT TRAVELS WELL",
      "takeTheEvidenceWithYou": "Take the evidence with you.",
      "portableFilesClearDenominatorsAndARecordOfHowTheJudgments": "Portable files, clear denominators, and a record of how the judgments were made.",
      "respondentCodeMatrix": "Respondent × code matrix",
      "csvForExcelRPythonOrYourReportingWorkflow": "CSV for Excel, R, Python, or your reporting workflow.",
      "respondents": " respondents · ",
      "codeColumns": " code columns",
      "csv": "CSV",
      "codebookDefinitions": "Codebook & definitions",
      "stableIdsBoundariesExamplesAndTheApprovedRevision": "Stable IDs, boundaries, examples, and the approved revision.",
      "methodsRecord": "Methods record",
      "scopeProcessingRulesCountsAndLimitations": "Scope, processing rules, counts, and limitations.",
      "txt": "TXT",
      "completeResearchRecord": "Complete research record",
      "availableSourceSnapshotsCodebookVersionsRunOutcomesJudgmentsAndAuditHistory": "Available source snapshots, codebook versions, run outcomes, judgments, and audit history.",
      "json": "JSON",
      "matrixExportSettings": "Matrix export settings.",
      "includeOriginalTextEvidenceAndReviewMemos": "Include original text, evidence, and review memos",
      "includeOnlyHumanReviewedRespondents": "Include only human-reviewed respondents",
      "theseSettingsApplyToTheMatrixCsvTheCompleteJsonRecord": "These settings apply to the matrix CSV. The complete JSON record includes available text and research history. Files may contain the personal information present in your source data.",
      "csvIsPlatformIndependentThisReleaseDoesNotImportOrExport": "CSV is platform-independent, and the QDA project above is the REFI-QDA interchange standard. Native NVivo project files (.nvp and .nvpx) are not supported.",
      "theResearchTrail": "The research trail.",
      "latest": "Latest ",
      "events": " events",
      "savedChangesWillAppearHere": "Saved changes will appear here.",
      "csvExport": "CSV export",
      "chooseAFileUnder3Mb": "Choose a file under 3 MB.",
      "theFileCouldNotBeRead": "The file could not be read.",
      "checkTheColumnMapping": "Check the column mapping.",
      "theImportFailedRetryToResumeThisSameImport": "The import failed. Retry to resume this same import.",
      "giveEachColumnAPurpose": "Give each column a purpose.",
      "bringYourResearchWithYou": "Bring your research with you.",
      "oneFileAnySurveyPlatform": "One file. Any survey platform.",
      "uploadACsvOrTsvFromQualtricsSurveymonkeyGoogleFormsOr": "Upload a CSV or TSV from Qualtrics, SurveyMonkey, Google Forms, or another survey tool.",
      "chooseAFile": "Choose a file",
      "upTo2000Respondents20ImportedColumnsAnd3Mb": "Up to 2,000 respondents, 20 imported columns, and 3 MB per file.",
      "thePreviewStaysInThisBrowserTheMappedDatasetIsSaved": "The preview stays in this browser. The mapped dataset is saved only when you select Import study.",
      "studyName": "Study name",
      "sourcePlatform": "Source platform",
      "respondentRows": " respondent rows. ",
      "platformMetadataRowsAnd": " platform metadata rows and ",
      "emptyRowsExcludedChooseAtLeastOneOpenEndedAnswerOnly": " empty rows excluded. Choose at least one open-ended answer; only explicitly mapped columns are imported.",
      "column": "Column ",
      "columnValueLabel": "Column {{value1}} label",
      "emptyFirstValue": "Empty first value",
      "useAs": "Use as",
      "skipColumn": "Skip column",
      "respondentId": "Respondent ID",
      "openEndedAnswer": "Open-ended answer",
      "caseAttribute": "Case attribute",
      "useAUniqueRespondentIdIfAvailableWithoutOneTheImport": "Use a unique respondent ID if available. Without one, the import assigns stable row IDs. Platform test/preview rows are included unless you remove them in the source file.",
      "chooseAnotherFile": "Choose another file",
      "importingStudy": "Importing study…",
      "importStudy": "Import study",
      "unableToLoadProjects": "Unable to load projects.",
      "questionpunk": "QuestionPunk",
      "codingStudio": "Qualitative analysis",
      "qualitativeResearchInOnePlace": "QUALITATIVE RESEARCH, IN ONE PLACE",
      "makeSpaceForTheOpenEnded": "Make space for the open-ended.",
      "importAStudy": "Import a study",
      "openAQuestionpunkStudyOrBringACsvExportFromThe": "Analyze open-ended responses from QuestionPunk, Qualtrics, CSV files, or an NVivo QDPX export.",
      "findAResearchProject": "Find a research project…",
      "searchResearchProjects": "Search research projects",
      "recentStudiesWithOpenEndedQuestions": " recent studies with open-ended questions",
      "yourStudiesCouldNotLoad": "Your studies could not load.",
      "tryAgain": "Try again",
      "openingYourResearchLibrary": "Opening your research library…",
      "loadingTheStudiesYouCanAccess": "Loading the studies you can access.",
      "noMatchingStudies": "No matching studies.",
      "bringTheFirstVoicesIn": "Bring the first voices in.",
      "importACsv": "Import a CSV",
      "tryADifferentSearch": "Try a different search.",
      "studiesWithOpenEndedQuestionsAppearHereYouCanAlsoImport": "Studies with open-ended questions appear here. You can also import an existing response dataset.",
      "importedDataset": "Imported dataset",
      "completedRespondents": " completed respondents",
      "updated": "Updated ",
      "openWorkspace": "Open workspace ",
      "theHumanPerspective": "THE HUMAN PERSPECTIVE",
      "aLittleContextChangesEverything": "A little context changes everything.",
      "reviewed": " reviewed",
      "readTheAnswerWeighTheEvidenceMakeTheFinalCall": "Read the answer. Weigh the evidence. Make the final call.",
      "decisionSavedYourReviewHistoryIsPreserved": "Decision saved. Your review history is preserved.",
      "undoLastDecision": "Undo last decision",
      "giveYourAnalysisALanguage": "Give your analysis a language.",
      "createACodebook": "Create a codebook ",
      "approveACodebookBeforeRecordingHumanJudgments": "Approve a codebook before recording human judgments.",
      "searchResponses": "Search responses",
      "findAResponse": "Find a response…",
      "reviewStatus": "Review status",
      "needsReview": "Needs review",
      "reviewed2": "Reviewed",
      "allAnswers": "All answers",
      "codes2": " codes",
      "matchingAnswers": " matching answers",
      "showingTheFirst500SearchToNarrow": " · Showing the first 500; search to narrow",
      "aClearReviewQueue": "A clear review queue.",
      "chooseAllAnswersToRevisitYourDecisions": "Choose All answers to revisit your decisions.",
      "decisionSaved": "Decision saved.",
      "yourEditsAreStillHereResolveTheErrorAboveBeforeSaving": "Your edits are still here. Resolve the error above before saving again.",
      "codingFailed": "Coding failed",
      "reviewedVvalue": "Reviewed · v{{value1}}",
      "yourJudgmentComesFirst": "Your judgment comes first",
      "theSourceOrApprovedCodebookChangedWhileYouWereEditing": "The source or approved codebook changed while you were editing.",
      "loadTheLatestVersion": "Load the latest version",
      "aHistoricalReviewIsRetainedButItsSourceOrDefinitionsDiffer": "A historical review is retained, but its source or definitions differ from this version. Record a new judgment to include it in current analysis.",
      "inTheirOwnWords": "IN THEIR OWN WORDS",
      "highlightAnExactExcerptToPreserveItAsEvidence": "Highlight an exact excerpt to preserve it as evidence.",
      "selectedEvidence": "SELECTED EVIDENCE",
      "clearExcerpt": "Clear excerpt",
      "yourCoding": "YOUR CODING",
      "noCodeSelectedSaveToExplicitlyRecordNoMatchingCode": "No code selected. Save to explicitly record “no matching code.”",
      "researcherMemo": "Researcher memo ",
      "whatShouldAFutureReaderUnderstandAboutThisDecision": "What should a future reader understand about this decision?",
      "inspectModelSuggestions": "Inspect model suggestions",
      "suggestionsAreUnreviewedAgreementBetweenModelsIsNotProofOfAccuracy": "Suggestions are unreviewed. Agreement between models is not proof of accuracy.",
      "noMatchingCodes": "No matching codes.",
      "noSavedModelSuggestionsYouCanCodeThisAnswerManually": "No saved model suggestions. You can code this answer manually.",
      "approvedCodebookVvalue": "Approved codebook v{{value1}}",
      "next": "Next",
      "saveDecision": "Save decision",
      "applyEveryCodeSupportedByTheAnswer": "Apply every code supported by the answer.",
      "exclude": "Exclude: ",
      "noMatchingCode": "No matching code",
      "approvedCodebook": "Approved codebook",
      "theRunCouldNotBePreparedResolveTheErrorAbove": "The run could not be prepared. Resolve the error above.",
      "checkTheSavedRunBelowBeforeTryingAgain": "Check the saved run below before trying again.",
      "useRefreshToReconnectToTheSavedRun": "Use Refresh to reconnect to the saved run.",
      "consistentTraceableCoding": "CONSISTENT, TRACEABLE CODING",
      "fromAFewAnswersToTheWholePicture": "From a few answers to the whole picture.",
      "everyIncludedAnswerGetsAnExplicitOutcomeFailuresRemainVisibleAnd": "Every included answer gets an explicit outcome. Failures remain visible and retryable.",
      "setTheCodingApproach": "Set the coding approach.",
      "oneModelYourOversight": "One model, your oversight",
      "aFocusedFirstPassWithEvidenceForEveryAssignment": "A focused first pass with evidence for every assignment.",
      "threeIndependentModelPasses": "Three independent model passes",
      "majorityCodingDisagreementsAreMarkedForHumanReview": "Majority coding; disagreements are marked for human review.",
      "codingModel": "Coding model",
      "modelsUseTheApprovedCodebookAndExactSourceTextTheyMay": "Models use the approved codebook and exact source text. They may still misunderstand meaning. Model agreement is not a reliability certificate.",
      "prepareCodingRun": "Prepare coding run",
      "approveACodebookFirst": "Approve a codebook first",
      "whatIsPreserved": "WHAT IS PRESERVED",
      "aRecordYouCanFollow": "A record you can follow.",
      "immutableApprovedCodebookVersion": "Immutable approved codebook version",
      "fullIncludedAnswerTextAndSourceFingerprint": "Full included answer text and source fingerprint",
      "eachModelSAssignmentsAndExactEvidence": "Each model’s assignments and exact evidence",
      "separateHumanCorrectionsAndNoCodeVerdicts": "Separate human corrections and no-code verdicts",
      "savedProgressModelIdentityAndCreditUsage": "Saved progress, model identity, and credit usage",
      "aiCreditsAreBilledToTheStudyOwnerForSuccessfulSaved": "AI credits are billed to the study owner for successful saved batches. Pausing or canceling takes effect after the current batch.",
      "codingHistory": "Coding history.",
      "recentRuns": " recent runs",
      "threeModelPanel": "Three-model panel",
      "pausing": " · pausing",
      "canceling": " · canceling",
      "codingProgress": "Coding progress",
      "coded": " coded · ",
      "excluded": " excluded · ",
      "failed": "failed ·",
      "pending": "pending",
      "credits": " credits",
      "pause": "Pause",
      "newCreditLimitOptional": "New credit limit (optional)",
      "resumeRetry": "Resume / retry",
      "cancelRun": "Cancel run",
      "noCodingRunsYetYouCanAlsoCodeAnswersManuallyIn": "No AI runs yet. You can develop and apply codes yourself in Read & code.",
      "readyToCodeYourAnswers": "Ready to code your answers.",
      "includedAnswers": "included answers",
      "excludedAnswers": "excluded answers",
      "thisRunUses": "This run uses",
      "spendingLimit": "Spending limit: ",
      "distinctAnswersToCode": "distinct answers to code",
      "duplicateAnswersAreCodedOnceAndTheOutcomeAppliesToEveryCopy": "Answers that repeat word for word are coded once, and that outcome applies to every copy — so the same answer always carries the same codes.",
      "estimatedCost": "Estimated cost: ",
      "onlyActualUsageForSuccessfulSavedBatchesIsBilledTheRunStopsAt": ". Only actual usage for successful saved batches is billed, and nothing is reserved up front. The run stops if it reaches {{limit}} credits.",
      "aiCredits": " AI credits",
      "thisIsAConservativeUpperAllowanceOnlyActualUsageForSuccessful": ". This is a conservative upper allowance. Only actual usage for successful saved batches is billed; no credits are reserved up front.",
      "yourSelectedAnswersAndCodebookWillBeSentToTheSelected": "Your selected answers and codebook will be sent to the selected AI providers. Existing human judgments remain authoritative.",
      "back": "Back",
      "starting": "Starting…",
      "startCodingRun": "Start coding run",
      "yourResearchComingIntoFocus": "YOUR RESEARCH, COMING INTO FOCUS",
      "thereSAStoryInTheAnswers": "There’s a story in the answers.",
      "aPlaceToTurnOpenEndedResponsesIntoAThoughtfulTraceable": "A place to turn open-ended responses into a thoughtful, traceable analysis.",
      "listenClosely": "Listen closely.",
      "findWhatMatters": "Find what matters.",
      "openTheReviewWorkspace": "Open the review workspace",
      "aVoiceFromYourStudy": "A VOICE FROM YOUR STUDY",
      "yourAnalysisStartsWithAnOpenEndedQuestionAndThePeople": "Your analysis starts with an open-ended question and the people who answer it.",
      "bringYourFirstDataset": "Bring your first dataset",
      "approvedCodes": "approved codes",
      "humanReviewedAnswers": "human-reviewed answers",
      "yourPathThroughTheData": "Your path through the data.",
      "bringTheAnswersTogether": "Bring the answers together",
      "valueVisibleRespondentsValue": "{{value1}} visible respondents · {{value2}}",
      "defineASharedLanguage": "Define a shared language",
      "startWithClearDefinitionsAndBoundaries": "Start with clear definitions and boundaries",
      "codeThenAddYourJudgment": "Code, then add your judgment",
      "valueAnalyzedValueReviewed": "{{value1}} analyzed · {{value2}} reviewed",
      "exploreThePatterns": "Explore the patterns",
      "followEveryThemeBackToTheOriginalAnswers": "Follow every theme back to the original answers",
      "ideasTakingShape": "Ideas taking shape.",
      "answers2": " answers",
      "onceYouCodeSomeAnswersYourEmergingThemesWillAppearHere": "Once you code some answers, your emerging themes will appear here.",
      "countsCombineModelSuggestionsAndTheLatestHumanJudgmentsOneAnswer": "Counts combine model suggestions and the latest human judgments. One answer may carry several codes.",
      "everyAnswerHasAPlace": "EVERY ANSWER HAS A PLACE",
      "startWithTheSource": "Start with the source.",
      "importAnotherStudy": "Import another study",
      "nativeQuestionpunkStudiesAndMappedCsvExportsShareTheSameCoding": "Native QuestionPunk studies and mapped CSV exports share the same coding workflow.",
      "visibleCompletedRespondentsRealResponsesOnlyAllCollectedVersions": " visible, completed respondents · real responses only · all collected versions",
      "refreshData": "Refresh data",
      "answersUseYourAccountSResponseVisibilityLimitsCodingRunsSnapshot": "Answers use your account’s response visibility limits. Coding runs snapshot the included data; new or changed answers need a new run. Empty, unsupported, and oversized answers are listed explicitly rather than silently dropped.",
      "yourSourceMaterial": "Your source material.",
      "searchAnswersAndAttributes": "Search answers and attributes",
      "searchSourceMaterial": "Search source material",
      "noAnswersHereYet": "No answers here yet.",
      "collectCompletedResponsesForThisQuestionOrImportACsvDataset": "Collect completed responses for this question, or import a CSV dataset from the project list.",
      "respondent": "Respondent",
      "originalAnswer": "Original answer",
      "attributes": "Attributes",
      "status": "Status",
      "noAnswer": "No answer",
      "matchingRespondents": " matching respondents",
      "previous": "Previous",
      "unableToLoadTheStudy": "Unable to load the study.",
      "liveProgressCouldNotRefreshYourSavedWorkIsSafeUse": "Live progress could not refresh. Your saved work is safe; use Refresh to reconnect.",
      "waitForTheCurrentSaveToFinish": "Wait for the current save to finish.",
      "yourChangeWasSavedButTheWorkspaceCouldNotRefreshUse": "Your change was saved, but the workspace could not refresh. Use Refresh to reconnect.",
      "theChangeCouldNotBeSaved": "The change could not be saved.",
      "skipToWorkspace": "Skip to workspace",
      "studyAnalysisTools": "Analysis tools",
      "studyReport": "Report",
      "qualitativeCoding": "Qualitative coding",
      "backToAnalysis": "Back to analysis",
      "codingStudioNavigation": "Qualitative analysis navigation",
      "q": "q",
      "questionpunk2": "questionpunk",
      "researchWorkspace": "RESEARCH WORKSPACE",
      "changeStudy": "Change study ",
      "yourAnalysis": "Coding tools",
      "builtAroundYourData": "Built around your data.",
      "guidedByYourJudgment": "Guided by your judgment.",
      "backToStudy": "Back to study",
      "researchWorkspace2": "Research workspace",
      "viewAccess": "View access",
      "closeNavigation": "Close navigation",
      "openNavigation": "Open navigation",
      "liveData": "Live data",
      "export": "Export",
      "refresh": "Refresh",
      "dismissError": "Dismiss error",
      "analyzing": "Question",
      "theStudyCouldNotLoad": "The study could not load.",
      "openingYourWorkspace": "Opening your workspace…",
      "refreshToTryAgain": "Refresh to try again.",
      "loadingYourSourcesCodebookAndSavedResearch": "Loading your sources, codebook, and saved research.",
      "codingStudio2": "Qualitative analysis ",
      "byQuestionpunk": "by QuestionPunk",
      "yourResearchProjects": "Your research projects ",
      "closeDialog": "Close dialog",
      "theCodebookCouldNotBeApprovedSeeTheErrorAbove": "The codebook could not be approved. See the error above.",
      "yourEditsHaveNotBeenSavedCheckTheErrorAbove": "Your edits have not been saved. Check the error above.",
      "theMergeWasNotSaved": "The merge was not saved.",
      "theImportIsSavingPleaseWaitForItToFinish": "The import is saving. Please wait for it to finish.",
      "thePauseRequestFailed": "The pause request failed.",
      "theRunCouldNotResume": "The run could not resume.",
      "theCancellationRequestFailed": "The cancellation request failed.",
      "requestFailed": "The request could not be completed. Please try again.",
      "dataRefreshFailed": "The data could not refresh. Try again.",
      "undoFailed": "The latest decision could not be undone. See the error above.",
      "openCodingStudio": "Open Qualitative analysis",
      "runMethodsLine": "{{runId}} | v{{revision}} | {{models}} | {{status}} | {{coded}} coded | {{failed}} failed | {{excluded}} excluded",
      "none": "None",
      "draftFromTheAnswers": "Draft from the answers",
      "suggestMoreCodes": "Suggest more codes",
      "theDraftCouldNotBeProposed": "The draft could not be proposed. Try again, or start a code by hand.",
      "draftedFromSampledAnswersNothingIsAppliedUntilYouApprove": "Drafted from {{count}} sampled answers. Edit anything that does not fit — nothing is applied until you approve this version.",
      "readingTheAnswers": "Reading the answers…",
      "chanceCorrectedAgreementAc1": "Chance-corrected agreement (Gwet’s AC1) is {{value}} on {{items}} paired answers — {{tier}}. AC1 discounts the agreement two coders would reach by chance, which raw percentages do not.",
      "flaggedForReview": "Flagged for review",
      "jevReview": "Evidence needs review",
      "flaggedCoversIncludingVerification": "{{flagged}} of {{total}} answers ({{percent}}%): model disagreements, no matching codes, evidence verification flags when enabled, and a fixed one-in-ten spot check.",
      "flaggedCoversOfAnswersDisagreementsNoMatchesAndASpotCheck": "{{flagged}} of {{total}} answers ({{percent}}%): every model disagreement, every answer no code fit, and a fixed one-in-ten spot check.",
      "waitingForACodingWorkerForMinutes": "Waiting for a coding worker — queued {{minutes}} min ago and not started. Your inputs are saved. Resume to dispatch it again, or cancel and start fresh.",
      "everySuggestedCodeIsAlreadyInYourCodebook": "Every code the draft suggested is already in your codebook. Add one by hand, or edit the definitions you have.",
      "methodsStatement": "Methods statement",
      "thePassageToPasteIntoAPaperBuiltFromWhatThisRunDid": "The passage to paste into a paper, written from what this run actually did.",
      "readTheStatement": "Read the statement",
      "cohensKappaAndKrippendorffsAlphaOnTheSameDecisions": "Cohen’s kappa {{kappa}} · Krippendorff’s alpha {{alpha}} on the same decisions. A kappa well below AC1 means a code is rare, not that you and the model disagree.",
      "whereTheModelAndYouParted": "Where the model and you parted, by code",
      "bothApplied": "Both applied",
      "modelOnly": "Model only",
      "youOnly": "You only",
      "precision": "Precision",
      "recall": "Recall",
      "whereTheModelAndYouPartedPrecisionIsHowOftenTheModelWasRight": "Where the model and you parted, by code. Precision is how often the model was right to apply a code; recall is how much of what you applied it found.",
      "sensitivity": "Sensitivity",
      "wouldAnotherModelHaveAgreed": "Would another model have agreed?",
      "codeTheSameAnswersTwiceThenSeeExactlyWhichOnesMoved": "Code the same answers under a second model, then see exactly which ones moved. A result that survives the swap is a result about your codebook, not about a provider.",
      "baselineRun": "Baseline run",
      "comparedWith": "Compared with",
      "compareRuns": "Compare runs",
      "comparing": "Comparing…",
      "theRunsCouldNotBeCompared": "The runs could not be compared.",
      "ofComparableAnswersReceivedTheSameCodesInBothRuns": "{{same}} of {{comparable}} comparable answers received exactly the same codes in both runs.",
      "chanceCorrectedAc1KappaAcrossRuns": "Chance-corrected across the two runs: AC1 {{ac1}} · Cohen’s kappa {{kappa}}.",
      "theseRunsUsedDifferentCodebookVersions": "These runs used different codebook versions, so a difference may be the definitions rather than the model.",
      "answersCouldNotBeComparedCodedInOnlyOneRunOrChangedSince": "{{count}} answers could not be compared: coded in only one run, or the source changed between them.",
      "everyComparableAnswerReceivedTheSameCodes": "Every comparable answer received the same codes in both runs.",
      "whatMoved": "What moved",
      "baseline": "Baseline:",
      "compared": "Compared:",
      "showingTheFirstDifferencesDownloadTheRecordForTheRest": "Showing the first 200 differences. The research record carries every one.",
      "qdaProject": "QDA project",
      "refiQdaOpensInNvivoAtlasTiMaxqdaAndQualcoder": "REFI-QDA archive with your sources, codebook and every coded excerpt. Opens in NVivo, ATLAS.ti, MAXQDA and QualCoder.",
      "qdpx": "QDPX",
      "loadingModelSuggestions": "Reading the model suggestions…",
      "themesReadableBase_one": "Themes are based on the {{count}} answer you can read (of {{total}}): answers past your plan's view limit are not read or coded.",
      "themesReadableBase_other": "Themes are based on the {{count}} answers you can read (of {{total}}): answers past your plan's view limit are not read or coded."
    },
    "status": {
      "pending": "Pending",
      "queued": "Queued",
      "running": "Running",
      "paused": "Paused",
      "completed": "Completed",
      "failed": "Failed",
      "canceled": "Canceled",
      "coded": "Coded",
      "excluded": "Excluded"
    },
    "colors": {
      "violet": "Violet",
      "teal": "Teal",
      "amber": "Amber",
      "rose": "Rose",
      "blue": "Blue",
      "slate": "Slate",
      "sand": "Sand",
      "green": "Green"
    },
    "integrations": {
      "qualtricsTitle": "Connect Qualtrics",
      "qdpxTitle": "Import from NVivo",
      "qualtricsScope": "Import selected open-ended questions into a private study. Sync is one-way and runs when you request it. It never changes your Qualtrics survey or starts paid AI coding.",
      "dataCenter": "Qualtrics data center",
      "surveyId": "Qualtrics survey ID",
      "apiToken": "API token",
      "credentialsHelp": "Find these in Qualtrics account settings. Your account needs API access and permission to export this survey. The token is encrypted; only the study owner can manage the connection.",
      "studyTitle": "Study title",
      "selectQuestions": "Choose up to 20 open-ended questions",
      "noQuestions": "No supported text-entry questions were found.",
      "unsupportedQuestions": "{{count}} other questions excluded. Form fields and loop-and-merge exports are not supported.",
      "changeConnection": "Change connection",
      "working": "Working…",
      "connectImport": "Connect and import",
      "findQuestions": "Find questions",
      "qdpxFileLimit": "Choose a .qdpx file up to 3 MB. Export native .nvp/.nvpx projects as REFI-QDA from NVivo first.",
      "fileReadFailed": "The file could not be read.",
      "qdpxHelp": "In NVivo for Windows, choose Share → Export Project → REFI-QDA Project. Upload the .qdpx export. This importer supports text sources, code hierarchies, coded excerpts and original attribution; native .nvp/.nvpx files are not accepted.",
      "nvivoInstructions": "NVivo export instructions and format limitations",
      "chooseQdpx": "Choose a QDPX export",
      "qdpxCounts": "{{sources}} text sources · {{codes}} codes · {{excerpts}} coded excerpts",
      "qdpxReview": "Original excerpts and their authors are retained. The codebook arrives as a draft for your approval. Imported coding is available in Data and Review, and in the full research record; it does not count as a new review or appear in theme totals. Original code colors are retained in the research record; QuestionPunk uses its own palette.",
      "notImported": "Features outside this import",
      "acceptLimitations": "I have reviewed these omissions and will retain my original NVivo project.",
      "importProject": "Import project",
      "lastSync": "Last sync: {{date}} · {{count}} responses processed",
      "awaitingSync": "No sync has completed yet.",
      "syncHelp": "Sync imports up to 2,000 changed completed responses at a time, with 20,000 responses per study. Preview, test and incomplete responses are excluded. Changes invalidate affected coding without deleting its history. Deletions in Qualtrics are not mirrored; remove those responses here separately. Refresh all responses restarts an expired export and updates existing IDs without duplicating responses.",
      "syncNow": "Sync now",
      "disconnect": "Disconnect",
      "disconnectHelp": "Remove the stored API token and stop this connection. Imported responses and coding will remain in this study. Update the API token to reconnect later.",
      "confirmDisconnect": "Remove connection",
      "originalCoding": "Original imported coding ({{count}})",
      "originalCodingHelp": "Attribution and excerpts from the QDPX export. These are historical source annotations, separate from the judgments you make here.",
      "importedSourceChanged": "This answer has changed since import. These excerpts refer to the original source.",
      "status": {
        "idle": "Ready to sync",
        "queued": "Waiting for sync worker",
        "syncing": "Syncing responses",
        "failed": "Sync needs attention",
        "disconnected": "Disconnected"
      },
      "updateToken": "Update API token",
      "fullRefresh": "Refresh all responses",
      "saveToken": "Save token and sync"
    },
    "reliability": {
      "publishable": "high observed agreement",
      "exploratory": "moderate observed agreement",
      "unreliable": "low observed agreement — inspect disagreements and definitions"
    },
    "passages": {
      "reviewIntro": "Draft a starting codebook with AI, or read a response and highlight a passage to create codes. Link each coding decision to the words behind it.",
      "responseText": "Response text. Select a passage to code it.",
      "selectedPassage": "Selected passage",
      "defineCode": "Define a code for this passage",
      "definitionHint": "Use at least 15 characters to explain when this code applies.",
      "addToPassage": "Add to passage",
      "aiSuggestions": "AI suggestions",
      "unreviewed": "Unreviewed",
      "aiHint": "Each model reads the selected passage independently. Accept the interpretations you can support.",
      "model": "Model",
      "threeModels": "Compare all three models",
      "generating": "Reading the passage…",
      "suggestForPassage": "Suggest codes for passage",
      "creditHint": "Uses your study’s AI credits. Suggestions are applied only when you accept them.",
      "modelFailure": "{{models}} could not return suggestions. Other results are available; you can retry the failed model.",
      "noSuggestions": "No pending suggestions for this passage.",
      "dismissSuggestion": "Dismiss {{code}} suggestion",
      "proposedCode": "New code proposal",
      "acceptSuggestion": "Accept suggestion",
      "mergeTitle": "Merge “{{code}}” into…",
      "mergeHint": "On Save decision, this combines the codes across this question. The destination definition stays; original decisions and evidence remain in history.",
      "stageMerge": "Stage merge",
      "annotationLimit": "This answer supports up to 200 passage links. Remove a link before adding another.",
      "codeLimit": "A codebook supports 50 codes. Save your current additions before creating more (up to 8 per review).",
      "duplicateName": "That code name already exists. Apply the existing code or choose a different name.",
      "suggestionsReady": "{{count}} suggestions ready · {{credits}} AI credits used. Review before accepting.",
      "suggestionsFailed": "Suggestions could not load. Your passage and coding edits are still here.",
      "passageCount_one": "{{count}} passage link",
      "passageCount_other": "{{count}} passage links",
      "readingHint": "Read first, then highlight a passage that stands out. Click any existing highlight to see its codes.",
      "selectionLimit": "Select an exact passage of up to 4,000 characters within this answer.",
      "yourCodes": "Your codes",
      "modelSuggestions": "Model suggestions",
      "clearSelection": "Clear passage selection",
      "createCode": "Create code",
      "applyHint": "Create a code for this passage, or use the side panel to apply codes and get AI suggestions.",
      "selectPrompt": "Select a passage to create codes, apply your codebook, or compare models.",
      "selectWholeAnswer": "Select whole answer",
      "linkedCodes": "Linked codes & passages",
      "showAll": "Show all",
      "removeFromPassage": "Remove {{code}} from this passage",
      "acceptedFrom": "Accepted from {{models}}",
      "codedByYou": "Coded by you",
      "noLinkedCodes": "No codes linked here yet.",
      "wholeAnswerCodes": "Whole-answer codes",
      "unanchoredHint": "These codes have no individual passage link. Highlight their evidence and apply the code to make the connection explicit.",
      "removeFromAnswer": "Remove {{code}} from this answer",
      "previousExcerpt": "Earlier review excerpt:",
      "responseDetails": "Response details",
      "unsaved": "Unsaved changes",
      "savedHint": "Changes are recorded when you save the decision.",
      "bookChanges": "Codebook changes: {{added}} new · {{merged}} merged. Saving approves these changes for this question and retains previous versions.",
      "codes": "Codes",
      "codeSelectionHint": "Apply a code to the selected text. Multiple codes can share a passage.",
      "codeBrowseHint": "Choose a code to see its passages, or highlight text to apply one.",
      "findCode": "Find a code…",
      "applied": "Applied",
      "applyCode": "Apply",
      "mergeCode": "Merge {{code}} with another code",
      "savedSuggestionsFailed": "Saved model suggestions could not load.",
      "unsavedTitle": "Keep your coding changes?",
      "unsavedMessage": "Save this decision before leaving the review, or discard the unsaved changes.",
      "keepEditing": "Keep editing",
      "discardChanges": "Discard and continue",
      "dismissFailed": "The suggestion could not be dismissed. Your coding is unchanged."
    },
    "surveyContext": {
      "title": "Survey context",
      "inspector": "Reader details",
      "codes": "Codes",
      "intro": "This person’s recorded survey, in the order they saw it. Code text answers; use numbers and choices as context.",
      "importIntro": "This person’s imported answers and context fields, in file column order. Only text answers can be coded.",
      "aiScope": "AI uses the selected question, answer, and codebook. Other answers shown here are for your review.",
      "saveFirst": "Save your decision before coding another answer. Your selection stays in the reader.",
      "loading": "Loading this person’s survey…",
      "failed": "Survey context could not load. Retry to see the recorded answers.",
      "empty": "No recorded questions are available.",
      "current": "Coding this answer",
      "codable": "Text to code",
      "contextOnly": "Context only",
      "untitled": "Recorded question",
      "noAnswer": "No answer recorded",
      "unsupported": "This answer needs its original view in Responses.",
      "codeAnswer": "Code this answer",
      "unavailableTitle": "This person’s answer is unavailable.",
      "unavailableDetail": "It may have changed or no longer be eligible for coding. Choose another response to continue.",
      "open": "View survey context"
    },
    "submission": {
      "intro": "Read the whole submission, highlight what matters, and turn it into codes.",
      "fullResponse": "Full submission",
      "respondents": "Respondents",
      "findRespondent": "Find respondent ID",
      "respondentCount_one": "{{count}} respondent",
      "respondentCount_other": "{{count}} respondents",
      "previousRespondent": "Previous",
      "nextRespondent": "Next respondent",
      "noMatchingRespondents": "No matching respondents",
      "allRespondents": "All respondents",
      "searchById": "Search by respondent ID or clear the search to read all submissions.",
      "codeAnswer": "Code this answer",
      "openCoding": "Open codes & suggestions",
      "backToResponse": "Back to submission",
      "loadingCodes": "Loading this answer’s codebook and saved coding…",
      "codingLoadFailed": "Coding could not load. Retry to open this answer.",
      "answerChanged": "This answer changed or is no longer available for coding. Close this dialog and refresh the submission before selecting a passage again.",
      "recordedContext": "Recorded conversation · context",
      "answerFor": "Answer to {{question}}"
    },
    "reader": {
      "respondent": "Respondent",
      "highlightHint": "Highlight any text answer to start coding.",
      "answers_one": "{{count}} answer",
      "answers_other": "{{count}} answers",
      "aiHint": "Get a second perspective on this passage. You decide which suggestions to keep.",
      "noMatchingCodes": "No matching codes.",
      "clearSearch": "Clear search",
      "openCodes": "Open codes",
      "applyHint": "Click codes to add or remove them from this passage."
    },
    "auto": {
      "title": "Build the codebook and code your responses",
      "eyebrow": "Automatic analysis",
      "intro": "AI reads your selected answers, develops codes as it goes, brings equivalent codes together, and checks every answer against the finished codebook.",
      "start": "Auto-code responses",
      "customize": "Customize · {{count}} selected questions",
      "questions": "Questions to analyze",
      "questionHint": "Choose up to 20 research questions. Leave out names, contact details, and administrative fields.",
      "objective": "What are you trying to understand?",
      "defaultObjective": "Identify the ideas, experiences, and meaningful differences relevant to the selected survey questions.",
      "context": "Include the respondent’s other selected answers and recorded choice/number answers as context. Only the target text is coded.",
      "scope": "{{answers}} answers from {{respondents}} respondents · {{questions}} questions · {{excluded}} excluded",
      "estimate": "Estimated {{estimate}} AI credits · Spending limit {{limit}} credits",
      "protected": "{{count}} existing codes will keep their definitions. New discoveries will build on them.",
      "billing": "Uses the study owner’s AI credits. The limit covers discovery, cleanup, and final coding. Only actual reported usage is charged, including an invalid attempt that needs retrying.",
      "estimating": "Calculating scope and cost…",
      "estimateFailed": "The analysis could not be estimated. Try refreshing.",
      "startFailed": "The analysis could not be started. Check saved progress before trying again.",
      "reconnect": "Use Refresh to reconnect to your saved analysis.",
      "controlFailed": "This action could not be completed. Refresh to check the saved state.",
      "refresh": "Refresh estimate",
      "existingRun": "Finish or cancel the existing coding run before starting automatic analysis.",
      "stages": {
        "discovering": "Read and discover codes",
        "consolidating": "Bring equivalent codes together",
        "coding": "Code every answer",
        "validating": "Check evidence and coverage"
      },
      "progress": "Read {{read}} / {{total}} · Coded {{coded}} / {{total}} · Excluded {{excluded}}",
      "codeCount": "{{codes}} codes · {{merges}} recorded merges",
      "creditsUsed": "{{used}} / {{limit}} credits used",
      "reviewPending": "AI coding is complete. Human review is separate: inspect the codebook, unusual answers, and supporting passages before relying on the findings.",
      "pause": "Pause",
      "pausing": "Pausing after this batch…",
      "resume": "Resume analysis",
      "cancel": "Cancel analysis",
      "increaseLimit": "Spending limit (optional increase)",
      "review": "Review AI coding",
      "fixedWorkflow": "Use an existing codebook or compare three models",
      "sharedVersion": "AI-generated codebook v{{value1}}",
      "aiVersion": "AI-generated · ready to review",
      "aiVersionDetail": "This shared version was frozen for consistent AI coding. It is usable now, and has not been approved by a researcher. Changes create a new version.",
      "mergeHistory": "Code cleanup · what changed",
      "differentInstructions": "These runs used different research objectives or respondent context. Differences cannot be attributed to the model alone.",
      "highlightsLoading": "Loading AI highlights for the rest of this response…",
      "highlightsFailed": "Some highlights could not load. Open an answer’s codes to retry.",
      "flaggedOnly": "Needs review · current question",
      "flags": {
        "disagreement": "Models disagree",
        "no-match": "No matching code",
        "spot-check": "Suggested spot check",
        "stale": "Source or context changed",
        "ambiguous": "Interpretation needs review",
        "contradiction": "Conflicting statements",
        "unrepresented": "Idea outside the codebook"
      }
    },
    "autopilot": {
      "eyebrow": "Auto-coding",
      "title": "Auto-coded",
      "aiDrafted": "AI-drafted",
      "draftedFrom": "Codebook drafted from {{count}} answers",
      "coverage": "{{coded}} of {{total}} coded",
      "reviewApprove": "Review & approve",
      "waiting": "Coding starts at {{threshold}} answers ({{count}} so far).",
      "paused": "Paused: plan allowance used ({{used}} of {{cap}} credits).",
      "useCredits": "Use credits",
      "switch": "Auto-code new answers",
      "switchHelp": "A codebook you started is never replaced.",
      "streamTotals": "{{runs}} runs · {{coded}} answers coded · {{credits}} credits",
      "allowanceLeft": "Plan allowance left: {{remaining}} credits.",
      "split": "About {{allowance}} from the allowance, {{credits}} from AI credits.",
      "measured": "Estimates run about {{ratio}}× measured cost.",
      "openInResults": "See this question in results",
      "partial": "{{coded}} of {{total}} coded · {{failed}} failed",
      "partlyCoded": "Partly coded",
      "retryFailed": "Retry failed",
      "showRuns": "Show runs",
      "noComparableRuns": "Comparing needs two runs that coded the same answers."
    }
  },
  "diaryStudies": {
    "complianceDone": "Done so far",
    "complianceDoneDescription": "Share of waves due so far that were turned in"
  },
  "packagingDesign": {
    "dielineModal": {
      "bodyDiameter": "Body diameter",
      "canShape": "{{name}} — the can this wrap prints onto",
      "crease": "Crease",
      "cut": "Cut",
      "endCode": "End",
      "fillVolume": "Fill volume",
      "flatWrap": "Flat wrap",
      "material": "Material",
      "overallHeight": "Overall height",
      "preview": "Preview",
      "preview3d": "3D",
      "previewFlat": "Flat",
      "seam": "Seam",
      "wrapWidth": "Wrap width",
      "wrapWidthValue": "{{circumference}} {{unit}} circumference + {{lap}} {{unit}} seam lap"
    },
    "library": {
      "blank": "blank",
      "designThisBox": "Design this box",
      "designThisCan": "Design this can",
      "wrap": "wrap"
    },
    "studio": {
      "promptTooLong": "Keep the brief within {{limit}} characters. Your full text is still here.",
      "combinedPromptTooLong": "The brief and design details exceed {{limit}} characters. Shorten the brief, Product, or Brand and try again. Your text is still here.",
      "promptPlaceholder": "Describe the design you want",
      "creditBalance_one": "{{count}} credit left",
      "creditBalance_other": "{{count}} credits left",
      "creditBalanceTitle": "One credit here is one draft variant, which is {{rate}} of the credits in your sidebar balance.",
      "variantCount_one": "{{count}} variant",
      "variantCount_other": "{{count}} variants",
      "generationQuality": {
        "label": "Image quality",
        "draft": "Draft",
        "presentation": "Presentation",
        "help": "More detail. Takes longer. Raster artwork.",
        "draftHelp": "Quick visual exploration.",
        "editHelp": "Selection edits use draft quality.",
        "insufficient": "Not enough credits for this run: {{quote}}."
      },
      "options": {
        "preview": "Saved direction preview",
        "loadingPreview": "Loading artwork…",
        "previewError": "This preview could not load completely. Close the comparison and try again.",
        "compareTitle": "Compare directions",
        "reviseBeforeTesting": "Revise before testing",
        "compareHelp": "Choose two directions to review side by side. Your working board stays unchanged.",
        "leftDirection": "Left direction",
        "rightDirection": "Right direction",
        "workingBoard": "Working board",
        "testTitle": "Test saved directions",
        "testHelp": "Choose 2–6 saved directions, with one concept per board. Each becomes a separate image in an equal white frame. Review the exact artwork before choosing a test method.",
        "testError": "Could not prepare every direction. Your test has not started. Try again.",
        "changeSelection": "Change selection",
        "preparing": "Preparing…",
        "chooseMethod": "Choose test method",
        "preparePreviews": "Prepare previews"
      }
    }
  },
  "recruitmentRequest": {
    "back": "Back to home",
    "title": "Recruit participants",
    "description": "Tell us who you want to hear from. Our team will find the right recruiting approach and email you a quote.",
    "formLabel": "Request a recruiting quote",
    "audienceLabel": "Who do you want to recruit?",
    "audiencePlaceholder": "For example: US small business owners who use accounting software and have 5–50 employees.",
    "audienceHint": "Include locations, demographics, and any experience or qualifications they need.",
    "countLabel": "How many participants do you need?",
    "studyLabel": "What will participants do, and for how long?",
    "studyPlaceholder": "For example: a 15-minute survey or a 45-minute interview.",
    "timingLabel": "When do you need them? (optional)",
    "timingPlaceholder": "For example: within two weeks, or a specific date.",
    "emailLabel": "Where should we email your quote?",
    "emailConfirmation": "We’ll email your quote to {{email}}.",
    "changeEmail": "Use a different email",
    "useAccountEmail": "Use my account email",
    "submit": "Request a quote",
    "sending": "Sending request…",
    "noCommitment": "No payment or commitment. We’ll confirm pricing and availability before recruiting starts.",
    "managedTitle": "We’ll handle the recruiting",
    "managedDescription": "From broad audiences to specialist roles, our team can source and screen participants for your study. We’ll recommend on-demand panel recruitment when it’s a good fit, or a custom recruiting approach when you need it.",
    "prolificTitle": "Prefer to recruit on demand?",
    "prolificDescription": "Use the Prolific panel to choose your audience, review pricing, and launch recruitment from an existing study.",
    "prolificAction": "Use Prolific",
    "pickStudy": "Choose a study for Prolific recruitment",
    "createStudy": "Create a study first",
    "successTitle": "Your request is with our team",
    "successDescription": "We’ll review your audience and email a quote to {{email}}.",
    "successNext": "If we need more details, we’ll follow up there. Recruiting starts once you approve the quote.",
    "error": "We couldn’t send your request. Your details are still here—please try again."
  },
  "proTranslation": {
    "title": "Translate your survey",
    "methodTitle": "How Pro checks meaning",
    "methodLabel": "Translation method",
    "standardName": "Standard",
    "proName": "Pro Translate",
    "standardDescription": "Automatic translation you can review and edit.",
    "proDescription": "Added AI checks for meaning, with notes you can review.",
    "included": "Included",
    "price": "Pro plan · {{price}}/month",
    "translatePro": "Translate with Pro",
    "translateStandard": "Translate with Standard",
    "upgrade": "Upgrade to Pro",
    "ownerUpgrade": "Owner upgrade needed",
    "ownerUpgradeHint": "Pro Translate uses the survey owner’s plan. Ask the owner to upgrade.",
    "reviewHint": "Review the result before sharing your survey.",
    "backToOptions": "Translation options",
    "how": "How Pro checks meaning",
    "loadFailed": "Could not load translation details.",
    "retryLoad": "Try again",
    "loading": "Loading translation details…",
    "source": "Translate from",
    "retryTranslation": "Retry Pro translation",
    "method": {
      "forward": "Two different AI models translate your original wording independently.",
      "reconcile": "An AI compares the drafts, reconciles differences, and records its reasons.",
      "back": "The reconciled wording is translated back into the source language without showing the original.",
      "adjudicate": "An AI checks for shifts in meaning. Any changed wording is back-translated and checked again before saving. You can read the review notes afterward.",
      "limit": "This is automated review adapted from parts of ISPOR guidance. It includes no certified translator’s review or cognitive debriefing with respondents.",
      "official": "For an established questionnaire, use the publisher’s official translation where available."
    },
    "status": {
      "none": "No Pro translation has run for this language.",
      "pending": "Pro translation queued.",
      "running": "Pro translation and meaning checks are running.",
      "complete": "Pro translation ready for your review.",
      "failed": "Pro translation did not finish."
    },
    "notes": {
      "title": "Translation review notes",
      "open": "Translation and review",
      "backSurvey": "Back to survey",
      "openSurvey": "Open translated survey",
      "newTab": "Opens in a new tab",
      "final": "Generated wording",
      "reason": "AI review note",
      "noReason": "No explanation was saved by this older run.",
      "degraded": "Only one forward translator answered in this older run. The two-draft comparison did not take place.",
      "candidate": "Independent draft {{number}}",
      "reconciled": "Reconciled wording",
      "round": "Review round {{number}}",
      "back": "Blind back-translation",
      "legacyBack": "Back-translations of the initial drafts",
      "legacy": "This older run checked the initial drafts; it did not separately back-translate the final revised wording.",
      "limits": "These are AI-generated review notes, not human certification or evidence of validation with respondents.",
      "snapshot": "This report records the generated translation. It does not track later edits and is not a statement that the current survey has been reviewed.",
      "generated": "Report generated {{date}}",
      "skipped_one": "{{count}} field was not written because it changed or was removed during translation. The report may include generated wording that was not applied.",
      "skipped_other": "{{count}} fields were not written because they changed or were removed during translation. The report may include generated wording that was not applied.",
      "empty": "No completed review notes are available yet.",
      "glossary": "Translation glossary",
      "glossaryLimit": "Terms collected during this run. Earlier items are not automatically reconciled to terms added later.",
      "rerunHint": "Running Pro again replaces this language’s wording and review report. Review any manual translations before continuing."
    },
    "professional": {
      "title": "Professional review of your Pro draft",
      "description": "Prepare the original wording, Pro output, and current draft for a human reviewer. Changes made after Pro are identified separately.",
      "brief": "Audience and regional requirements (optional)",
      "briefPlaceholder": "For example: adults in Argentina; natural Argentine Spanish with consistent voseo.",
      "download": "Download review workbook",
      "handoff": "Send the workbook to your reviewer. Downloading places no order and does not change your survey. Returned edits must be reviewed and applied manually for now.",
      "downloadFailed": "The review workbook could not be downloaded. Please try again.",
      "workbook": {
        "instructionsSheet": "Start here",
        "reviewSheet": "Review wording",
        "notesSheet": "AI notes",
        "title": "Professional review of an existing Pro translation",
        "sourceLanguage": "Original language",
        "targetLanguage": "Current translation language",
        "translatedAt": "Pro run completed",
        "exportedAt": "Exported",
        "reviewBrief": "Audience and regional brief",
        "noBrief": "Confirm the intended audience and regional variety with the author.",
        "reviewer": "Reviewer name and qualifications",
        "reviewDate": "Review date",
        "workflow": "Review each row against the original. The Reviewed wording column starts with the current draft. Correct it as needed, explain material changes, and mark every row Reviewed when finished. Use the formula bar to read any very long cell in full. Return the workbook to the author.",
        "fidelity": "Preserve the construct, recall period, negation, intensity, uncertainty, response-option distinctions, placeholders, and rich-text markup. Flag ambiguity in the original instead of silently rewriting the question.",
        "scope": "This workbook covers fields reached by the current Pro translation workflow. Ask the author for a survey preview to check branching, layout, media, and context. It is not a complete logic or instrument validation.",
        "limitations": "This is a handoff, not evidence of human review or certification. AI notes are supporting context, not proof of accuracy. No provider order is placed and no changes are imported automatically.",
        "editedHint": "Rows marked Edited after Pro contain later destination edits. Compare the Pro output and current draft before reviewing. The original Pro report remains unchanged.",
        "regionHint": "The current language code is preserved. A regional brief does not rename that language or prove regional adaptation.",
        "headers": [
          "Section",
          "Field",
          "Original wording",
          "Pro output",
          "Current draft",
          "Reviewed wording",
          "Reviewer notes",
          "Review status",
          "Edited after Pro",
          "Field ID"
        ],
        "noteHeaders": [
          "Original wording",
          "Pro output",
          "AI decision note",
          "Reconciliation note"
        ],
        "notReviewed": "Not reviewed",
        "reviewed": "Reviewed",
        "yes": "Yes",
        "no": "No"
      }
    },
    "request": {
      "title": "Have a professional review your Pro draft",
      "description": "We’ll find a professional to check your translation against the original and review it for your audience.",
      "open": "Request a review quote",
      "formLabel": "Professional review quote request",
      "attached": "We’ll attach the original ({{source}}), Pro translation ({{target}}), current draft, and review notes automatically.",
      "region": "Country or regional variety",
      "regionPlaceholder": "For example: Spanish for Argentina, with consistent voseo",
      "audience": "Audience and research context",
      "audiencePlaceholder": "Who will answer this survey, and what are you studying?",
      "timing": "Preferred deadline (optional)",
      "timingPlaceholder": "For example: within two weeks",
      "budget": "Budget and currency (optional)",
      "budgetPlaceholder": "For example: up to USD 200",
      "email": "Where should we email your quote?",
      "sharing": "Submitting sends these details and the review workbook to the QuestionPunk team so we can arrange a translator and quote.",
      "submit": "Send quote request",
      "sending": "Sending request…",
      "cancel": "Cancel",
      "noCommitment": "You approve the price, review scope, and delivery date before work begins. This request does not place a paid order or change your survey.",
      "successTitle": "Your request is with our team",
      "successDescription": "We’ll find a suitable reviewer and follow up at {{email}} with availability and a quote. You don’t need to send the workbook separately.",
      "error": "We couldn’t confirm delivery. Your details are still in the form so you can try again.",
      "ownReviewer": "Already have a reviewer? Download the workbook"
    }
  },
  "connectedApps": {
    "title": "Connected apps",
    "description": "Manage the assistants you have connected to QuestionPunk. Disconnecting ends this app’s access to your account on every device.",
    "empty": "No assistants are connected yet.",
    "loading": "Loading connected apps…",
    "loadError": "Connected apps could not be loaded. Try again.",
    "retry": "Try again",
    "disconnect": "Disconnect",
    "disconnecting": "Disconnecting…",
    "disconnected": "App disconnected. Connect again in your assistant to restore access.",
    "disconnectError": "The app could not be disconnected. Try again.",
    "more": "Load more",
    "permissions": "Permissions",
    "scopes": {
      "read": "Read your research",
      "write": "Create, edit, and publish studies",
      "responses_read": "Read research responses and reports",
      "ai": "Use QuestionPunk AI features"
    },
    "consent": {
      "title": "Connect {{app}}?",
      "identity": "This app is asking to access your QuestionPunk account. Its name is supplied by the app developer and has not been verified.",
      "permissions": "This connection is requesting permission to:",
      "returnAddress": "Return address:",
      "approve": "Approve connection",
      "cancel": "Cancel",
      "manage": "Manage or disconnect this app in QuestionPunk Settings → Integrations.",
      "boundaries": "Access is limited to research your account can access."
    }
  },
  "assessment": {
    "jevEvidenceReview": "Evidence needs review",
    "jevAdvisory": "An additional evidence check suggests reviewing these items. Scores and feedback are unchanged."
  },
  "evidenceCard": {
    "loading": "Loading the card",
    "loadFailed": "This card could not load.",
    "retry": "Try again",
    "method": {
      "counted": "Counted",
      "aiCoded": "AI-coded",
      "reviewed": "AI-coded + reviewed"
    },
    "codebook": {
      "approved": "Codebook v{{revision}}, approved",
      "auto": "Codebook v{{revision}}, AI-drafted",
      "short": "codebook v{{revision}}"
    },
    "calibration": "Agreement with {{count}} reviewed answers: AC1 {{ac1}}",
    "answered": "Answered:",
    "coded": "Coded:",
    "waiting": "{{count}} waiting",
    "failed": "{{count}} failed",
    "themesReadableBase_one": "Themes are based on the {{count}} answer you can read (of {{total}}).",
    "themesReadableBase_other": "Themes are based on the {{count}} answers you can read (of {{total}}).",
    "noThemeFits": "No theme fits",
    "reviewUncoded": "Review uncoded",
    "subThemes": {
      "toggle": "Show or hide its {{count}} sub-themes",
      "notAdditive": "Sub-themes can overlap: someone who gave two counts once in the theme above."
    },
    "hierarchy": {
      "group": "Group themes",
      "groupPick": "Themes to put under one new theme",
      "parentName": "Name of the new theme",
      "groupNote": "Their answers stay coded as they are. The new theme counts each person once.",
      "groupSave": "Group",
      "move": "Move",
      "moveTo": "Move to",
      "topLevel": "Top level",
      "moveSave": "Move",
      "addSubThemes": "Add sub-themes",
      "addNote": "Answers with this theme are coded again, so each can land on the sub-theme that fits.",
      "suggest": "Suggest sub-themes",
      "suggested": "Suggested from this theme's answers. Edit them before you add them.",
      "noSuggestion": "This theme's answers don't divide into clear sub-themes. Add them yourself.",
      "addConfirm": "Add and code again",
      "view": "View it reports",
      "keepView": "Its current view",
      "views": {
        "negative": "A problem",
        "positive": "A good experience",
        "neutral": "Neither"
      }
    },
    "status": {
      "notEnoughAnswers": "Themes appear once {{threshold}} people have answered. {{count}} have so far.",
      "drafting": "A codebook is being drafted from the answers so far. Themes appear once it is ready.",
      "codingAutomatic": "{{count}} answers are waiting to be coded. Themes appear as they are coded.",
      "codingManual": "No answers are coded yet. Code them in the Themes workbench.",
      "pausedCap": "Coding is paused: this month's included analysis is used ({{used}} of {{cap}} credits). {{count}} answers wait until it resets.",
      "pausedCapShort": "Coding is paused at the plan allowance. {{count}} answers wait until it resets.",
      "error": "The themes could not be checked against the latest answers, so none are shown."
    },
    "fallback": {
      "theme": "\"{{label}}\" is the most common theme: {{value}}.",
      "option": "\"{{label}}\" is the most common answer: {{value}}.",
      "mean": "The average is {{value}}.",
      "nps": "The Net Promoter Score is {{value}}."
    },
    "summary": {
      "mean": "Average",
      "median": "Median",
      "nps": "NPS"
    },
    "split": {
      "by": "By {{group}}",
      "versus": "vs",
      "planned": "Planned comparison",
      "exploratory": "Exploratory",
      "significant": "Significant",
      "withheldGroups": "Some groups are not shown or tested, to protect groups of fewer than 5 responses that include some past your plan's view limit."
    },
    "provenance": {
      "value": "Value",
      "base": "Base",
      "test": "Test",
      "method": "Method",
      "interval": "95% interval"
    },
    "quotes": {
      "play": "Play from {{time}}",
      "pause": "Pause",
      "openResponse": "Open response"
    },
    "actions": {
      "rename": "Rename",
      "merge": "Merge",
      "split": "Split",
      "openWorkbench": "Open in Themes workbench",
      "ask": "Ask about this question",
      "codeEarlier": "Code earlier answers"
    },
    "edit": {
      "theme": "Theme",
      "newName": "New name",
      "into": "Merge into",
      "save": "Save",
      "cancel": "Cancel",
      "partName": "Theme {{number}}",
      "partDescription": "What it covers (a sentence)",
      "addPart": "Add a theme",
      "partHint": "Give each theme a name and a sentence of at least 15 characters.",
      "splitPrice": "Check the cost",
      "splitQuote": "{{count}} answers had this theme and will be coded again, for about {{credits}} credits.",
      "splitConfirm": "Split and code again",
      "failed": "That did not work. Try again."
    },
    "earlier": {
      "quote": "Code {{count}} answers for about {{credits}} credits ({{allowance}} from the plan allowance).",
      "none": "There are no uncoded answers to code.",
      "confirm": "Code them",
      "started": "Coding started. Themes update as answers are coded."
    },
    "withheld": "Fewer than 5 responses, some past your plan's view limit: the figures are withheld to protect them."
  },
  "aiResult": {
    "title": "Your result",
    "pending": "Writing your result…",
    "authorTitle": "AI result shown to this person",
    "settings": {
      "title": "AI result",
      "description": "Describe what each person should read when they finish, for example career suggestions after a career interview. An AI writes it from their answers, including voice interviews. Not shown when the study redirects on completion. Leave empty for none.",
      "placeholder": "Suggest three careers that fit this person, each with one sentence on why, based on what they said about their skills and interests."
    }
  },
  "quiz": {
    "answerKey": "Answer key",
    "scoreQuestion": "Score this question",
    "onePoint": "Choose the correct answer. This question is worth 1 point.",
    "correctAnswer": "Correct answer:",
    "emptyOption": "Option {{index}} (empty)",
    "chooseKey": "Choose a correct answer before publishing.",
    "translationStructure": "Edit option order and count in the source language. Translated wording stays editable.",
    "result": "Quiz results",
    "score": "{{score}} / {{total}}",
    "reviewHelp": "Your answers have been submitted. Review them below.",
    "correct": "Correct",
    "incorrect": "Incorrect",
    "yourAnswer": "Your answer:",
    "answer": "Answer:",
    "unanswered": "No answer",
    "continue": "Continue",
    "resultUnavailable": "We could not load your quiz result. Try again before starting another attempt.",
    "retry": "Try again",
    "loading": "Loading quiz…",
    "submitted": "Your answers have been submitted.",
    "multipleCorrect": "Several correct answers (select all that apply)",
    "multipleHelp": "Check every correct answer. The question is only correct when all of them, and nothing else, are chosen.",
    "singleHelp": "Choose the one correct answer.",
    "chooseKeys": "Check every correct answer before publishing.",
    "points": "Points",
    "explanation": "Explanation (optional)",
    "explanationPlaceholder": "Shown with the graded answer, for example why it is right.",
    "percent": "{{percent}}%",
    "passed": "Passed",
    "notPassed": "Not passed",
    "passMarkLabel": "Pass mark {{percent}}%",
    "earnedPoints": "({{earned}} / {{points}} pts)",
    "summaryPending": "Writing your summary…",
    "passMark": {
      "title": "Pass mark",
      "description": "The percent of points needed to pass. People see Passed or Not passed with their score. Leave empty for no pass mark."
    },
    "summary": {
      "title": "AI result summary",
      "description": "Describe the summary you want each person to read with their score, and an AI writes one from their answers. Leave empty for none.",
      "placeholder": "Write a playful two-sentence verdict, like a personality quiz result, about how well they know 90s movies."
    },
    "overview": {
      "title": "Quiz overview",
      "attemptsCount": "Graded attempts: {{count}}",
      "average": "Average {{percent}}%",
      "passRate": "{{percent}}% passed",
      "perQuestion": "Correct by question",
      "correctOf": "{{correct}} of {{attempts}} correct",
      "empty": "Scores appear here once someone completes the quiz."
    },
    "visibility": {
      "title": "Quiz results",
      "description": "What people see after they submit. Your Results always show every answer.",
      "full": "Score and correct answers",
      "fullDescription": "Each question marked right or wrong, with the right answer and your explanations. Best for practice and training.",
      "missed": "Score and what they got wrong",
      "missedDescription": "Each question marked right or wrong, without the right answers. On a question with two choices, a wrong mark still gives the answer away.",
      "score": "Score only",
      "scoreDescription": "Just their score, for example 4 / 5.",
      "none": "Nothing",
      "noneDescription": "The usual thank-you screen. Keeps the answer key private, for example for hiring or certification."
    }
  },
  "surveyPromo": {
    "completeHeadline": "You just took a survey. Now make your own for free.",
    "madeWith": "Made with QuestionPunk. Create your own survey for free.",
    "opensInNewTab": "(opens in a new tab)"
  },
  "agentUsability": {
    "name": "Agent usability",
    "fidelity": {
      "label": "Execution fidelity",
      "importLabel": "Import an operator's tool-profile configuration",
      "importHelp": "Choose the public configuration JSON, not credentials or a full report. This records the model, tools and simulation label; it does not start an agent or grant target access, readiness, budget or native admission. Imported lane labels remain on retests.",
      "importFailed": "This is not a valid public tool-profile configuration. No configuration was imported.",
      "native": "Declared native runtime",
      "nativeHelp": "Native admission and captured runtime identity must be checked separately.",
      "tool_simulation": "Tool-aligned simulation · uncalibrated",
      "tool_simulationHelp": "A model using QuestionPunk tools, not the consumer application. Native tools, memory and orchestration may differ. This is not evidence of native consumer preference.",
      "scripted": "Scripted harness test",
      "scriptedHelp": "Infrastructure testing only; excluded from usability and preference results.",
      "unknown": "Fidelity not recorded",
      "unknownHelp": "This run has no recorded fidelity. Do not infer native consumer support from its runtime name."
    },
    "eyebrow": "Research for the way agents work",
    "intro": "Study how agents use your product. Connect public product pages or an MCP endpoint, describe the outcomes you care about, and review the tasks before choosing available agent access.",
    "connectProduct": "Add your product",
    "projectName": "Project name",
    "websiteUrl": "Website URL",
    "mcpUrl": "MCP endpoint URL",
    "targetHelp": "Add a website, an MCP endpoint, or both. Use public URLs without passwords, access tokens, query parameters, or fragments.",
    "publicDiscoveryScope": "Start with public discovery",
    "publicDiscoverySetupHelp": "We read public website text and inspect MCP tool definitions. This step does not sign in, call product tools, submit forms, or change your product. An endpoint that requires access is recorded as unavailable.",
    "goals": "What should agents be able to do?",
    "goalsPlaceholder": "Create a survey from a brief\nEdit a draft and publish it\nFind and export the results",
    "goalsHelp": "One outcome per line. You can provide up to 10 goals, each up to 1,000 characters.",
    "connectAndPropose": "Inspect and propose tests",
    "reviewBeforeRun": "You review the tests before any agent runs.",
    "projects": "Your testing projects",
    "noProjects": "Your testing projects will appear here.",
    "loading": "Opening your workspace…",
    "retry": "Try again",
    "previous": "Previous",
    "next": "Next",
    "signInRequired": "Sign in with an owner account to test a product.",
    "project": "Project",
    "projectIntro": "Review the tasks, choose available agent access, and follow the evidence to each checked result.",
    "productAndGoals": "Product and goals",
    "saveProduct": "Save product and goals",
    "snapshotHelp": "Saved changes apply to future work. Existing test revisions and run records stay unchanged.",
    "productUnderstanding": "What we learned about your product",
    "inspectProduct": "Inspect product",
    "inspectAgain": "Inspect again",
    "generateTests": "Propose tests",
    "proposingTests": "Inspection or test design is in progress. This page updates as work finishes.",
    "noInspection": "Inspection has not finished yet. Start or retry inspection to discover the product’s entry points and propose tests.",
    "jobFailed": "{{kind}} did not finish. Review the saved status and access requirements before trying again.",
    "job": {
      "inspect": "Product inspection",
      "generate": "Test design",
      "hosted": "Agent run",
      "check": "Outcome check",
      "reconcile": "Run cleanup"
    },
    "inspectionLimitations": "Inspection coverage and limitations",
    "discoveryCoverage": "Last saved public inspection",
    "publicDiscoveryHelp": "Website coverage records captured public page responses; readable product text may be unavailable. MCP coverage records tool definitions. These observations do not establish authenticated execution, an isolated test environment, or hosted availability.",
    "discoverySurface": {
      "website": "Public website pages",
      "mcp": "MCP tool definitions"
    },
    "discoveryStatus": {
      "website_observed": "Public pages captured",
      "observed": "Read successfully",
      "unavailable": "Unavailable during inspection",
      "not_requested": "Not requested in this inspection",
      "unknown": "Coverage was not recorded"
    },
    "discoveredToolCount": "{{count}} tool definitions recorded",
    "discoveryObservedAt": "Observed",
    "discoverySources": "Website source evidence",
    "discoverySourcesHelp": "These links and hashes identify the retrieved sources. Page text can change after inspection; the hash records the earlier retrieval.",
    "inspectionSnapshotHelp": "After changing the product address or goals, inspect again before proposing new tests. Existing inspection and run records describe the work captured at that time.",
    "reviewTests": "Review the tests",
    "reviewed": "Reviewed",
    "draft": "Draft",
    "reviewHelp": "Each task gives the agent a goal. Its private success checks define what evidence must establish the outcome. Keep the answer out of the agent’s task.",
    "noTests": "The proposed suite will appear here after product inspection and test design. You can also write a test yourself.",
    "testNumber": "Test {{number}}",
    "removeTest": "Remove test",
    "testGoal": "Goal given to the agent",
    "conditions": "Product surfaces to test",
    "condition": {
      "browser": "Website",
      "mcp": "MCP",
      "combined": "Website + MCP"
    },
    "successDefinition": "What counts as success?",
    "privateCheckHelp": "Private to the owner and checker. The execution agent does not receive this answer.",
    "checkMethod": "How should success be checked?",
    "authority": {
      "reviewer_judgment": "Owner observation",
      "persisted_target_state": "Saved product state",
      "finalized_artifact": "Finalized deliverable"
    },
    "removeCheck": "Remove check",
    "addCheck": "Add success check",
    "taskDetails": "Questions and limits",
    "taskContext": "Context given to the agent",
    "permittedActions": "Allowed actions (required)",
    "permittedActionsHelp": "Required: one explicitly permitted action per line. Nothing is allowed by default. Use a disposable account and explicitly permit any writes.",
    "questionBotNotice": "When the agent can ask questions",
    "questionBotFacts": "Answers the question bot may provide",
    "questionBotFactsHelp": "One name | answer per line. Use user preferences or facts, never the private success criteria. Do not include secrets.",
    "minutesLimit": "Time limit in minutes",
    "actionsLimit": "Action limit",
    "limitHelp": "A limit is a requested boundary. The run records which limits the admitted runner can enforce.",
    "generousLimitsHelp": "Start with a generous allowance, then use completed traces to adjust it. Time, actions and spending have separate limits.",
    "taskEffortEstimate": "Proposed effort: {{actions}} actions, {{requests}} model requests, about {{minutes}} minutes.",
    "taskEstimateHeadroom": "Initial time and action allowances include exploration and completion headroom. This estimate is not measured usage; you can adjust the limits before launch. Runner caps and spending limits are checked separately.",
    "taskEstimateStale": "The task or access scope has changed since this estimate. Review its allowance before launch.",
    "timeAllowanceReached": "The time allowance was reached. Review saved progress and consider a larger allowance; this stopping reason is separate from the product outcome checks.",
    "dependsOnTests": "This task depends on earlier tasks",
    "prerequisites": "Tasks that must succeed first",
    "addTest": "Write a test",
    "approveTests": "Approve this test revision",
    "reviewRevisionHelp": "Approval creates an immutable revision. Edits require a new review.",
    "reviewToRun": "Approve a test revision to prepare a run.",
    "suiteLimitations": "Test design coverage and limitations",
    "prepareRun": "Prepare a testing run",
    "whoRuns": "Who runs the agents?",
    "connected": "Connect your own runner",
    "hosted": "QuestionPunk runs the agents",
    "hostedSetupNeeded": "Hosted profiles need runtime, isolation, browser/MCP, evidence, and cleanup validation before they are available here. You can connect a runner that you control.",
    "hostedAdmissionHelp": "This runner is admitted for the current product, reviewed tests, MCP access, and recorded limits. The service rechecks its admission at launch. Provide a fresh test instance for every admitted trial.",
    "hostedAdmissionUnavailable": "This hosted admission is unavailable or expired. Refresh the project and choose an admitted runner before launching.",
    "hostedValidationEvidence": "Hosted validation records",
    "hostedValidationEvidenceHelp": "These worker attestation reports record captured proof and remaining gaps. This view relies on the saved worker report. A selectable admission is still required to launch a hosted run.",
    "hostedValidationRecord": "Validation record {{id}} · Proof SHA-256 {{hash}}",
    "hostedRuntimeIdentity": "Recorded runtime: {{runtime}}. Admission expires {{expires}}.",
    "runnerName": "Agent application",
    "runnerPlaceholder": "For example, Codex CLI or Claude Agent",
    "runnerNameHelp": "Name the actual application or harness, not only its model provider.",
    "chooseHosted": "Choose a validated hosted profile",
    "selectedTests": "Tests included in this run",
    "repetitions": "Trials per test and surface",
    "repetitionsHelp": "A single trial is a smoke check. Repeated trials help reveal inconsistent behavior.",
    "requestedCount": "{{count}} selected trials requested",
    "readinessAndIsolation": "Test account, evidence, and isolation readiness",
    "readinessHelp": "Record evidence that the target account, isolated starting state, tools, and checker are ready. An empty field remains unknown and makes the affected selection unavailable. Owner declarations are attributed to you; hosted admission comes from QuestionPunk.",
    "capability": {
      "target_access": "Target access",
      "fixture_ready": "Starting state and reset",
      "evidence_capture": "Evidence capture",
      "verifier_ready": "Outcome checker",
      "isolation": "Isolation from other trials",
      "execution_control": "Process and deadline control",
      "browser_tools": "Browser tools",
      "mcp_tools": "MCP tools"
    },
    "evidenceReferenceHelp": "Reference a setup record, receipt, or observed check.",
    "freshFixtures": "Fresh test instances",
    "freshFixturesHelp": "One instance ID | starting-state fingerprint | reset-recipe fingerprint | reset receipt per executable trial. Provision real isolated instances before recording them here.",
    "hostedFreshFixturesHelp": "One trial label per line. Each label requests a new isolated instance using the validated reset. The label is your declaration; target actions wait for the worker to capture a fresh reset receipt.",
    "hostedFixtureCountHelp": "Request {{count}} fresh instances for the selected trials. Every trial gets a new instance identity and a worker-captured reset receipt before target actions.",
    "fixtureCountHelp": "Provide {{count}} fresh instances for the currently ready trials. Each executable trial needs its own instance. Do not reuse an instance whose writes may still be running.",
    "fixture_format": "Provide each test instance as four non-empty fields separated by |.",
    "fixture_unique": "Every test instance must have a different instance ID.",
    "identityDetails": "Runner identity and comparison controls",
    "identityHelp": "Record versions and configuration fingerprints when available. Empty fields stay unknown; identical unknown values cannot establish a controlled comparison. Do not enter credentials.",
    "runtimeVersion": "Application version",
    "modelName": "Model identifier",
    "instructionsFingerprint": "Instruction fingerprint",
    "permissionsFingerprint": "Permission fingerprint",
    "targetVersion": "Product version",
    "toolVersions": "Tool names and versions",
    "toolVersionsHelp": "One tool name | version per line. An omitted version remains unknown.",
    "createRun": "Create testing run",
    "admissionHelp": "The saved run shows the exact executable count and any unavailable selections. Unavailable work does not silently count as a failure.",
    "runResults": "Run results",
    "loadingRun": "Opening the run and its evidence…",
    "requested": "Requested trials",
    "executable": "Executable trials",
    "checkedCompleted": "Checked completions",
    "interruptedAndNotAttempted": "Interrupted / not attempted",
    "interruptionCounts": "{{interrupted}} / {{notAttempted}}",
    "denominatorHelp": "Infrastructure interruptions and unattempted work are shown separately. Product errors and agent timeouts remain part of the attempted task results. Counts do not establish statistical reliability.",
    "refresh": "Refresh",
    "stopRun": "Stop run",
    "stoppingNotice": "Cancellation was requested and testing connections were revoked. Cleanup must confirm execution stopped before an instance can be reused.",
    "unavailableSelections": "Unavailable selections and reasons",
    "unavailable": {
      "unsupported_condition": "The test does not support this surface",
      "case_not_reviewed": "The test has not been reviewed",
      "unknown_runtime": "The agent application is unknown",
      "no_checks": "No success checks are defined",
      "missing_preflight": "Readiness checks are missing",
      "missing_capability": "A readiness check is missing",
      "capability_unavailable": "A required capability is unavailable",
      "capability_unknown": "A required capability is unknown",
      "prerequisite_unavailable": "A prerequisite task is unavailable"
    },
    "phase": {
      "queued": "Waiting for a runner",
      "preparing": "Preparing",
      "running": "Running",
      "stopping": "Stopping and collecting final evidence",
      "finished": "Finished"
    },
    "repetitionNumber": "Trial {{number}}",
    "agentClaim": "Agent reported",
    "checkedOutcome": "Independently checked",
    "noClaim": "No claim recorded",
    "outcome": {
      "completed": "Completed",
      "partially_completed": "Partially completed",
      "failed": "Failed",
      "abandoned": "Abandoned",
      "timed_out": "Timed out",
      "unverified": "Unverified",
      "unavailable": "Check unavailable"
    },
    "assistance": "Assistance",
    "assisted": "Assisted",
    "unassisted": "No assistance recorded",
    "notRecorded": "Not recorded",
    "evidenceProvenance": "Evidence source: {{origin}}. Question-bot exchanges: {{count}}.",
    "capturedFactualQuestions": "Captured factual questions ({{count}} exchanges)",
    "factualQuestionsHelp": "Answers come from facts declared before this run. QuestionPunk records these exchanges separately from runner claims. Factual clarification leaves the recorded assistance status unchanged.",
    "requestedFact": "Requested fact: {{name}}",
    "unknownFactAnswer": "No answer was declared for this fact.",
    "clarificationSource": {
      "declared_user_fact": "Owner-declared user fact"
    },
    "clarificationRecord": "Record {{id}} · Question policy {{policy}}",
    "fixtureQuarantined": "This instance is quarantined because execution or target writes were not confirmed stopped. Its evidence can still be reviewed, but the instance cannot be reused.",
    "checkEvidence": "Checker evidence and verification gaps",
    "evaluationRevision": "Review {{revision}} by {{reviewer}}",
    "evidenceTrail": "Execution evidence ({{count}} records)",
    "noEvidence": "No execution evidence has been received.",
    "observation": "Observation",
    "reviewHistory": "Previous outcome reviews",
    "gap": {
      "invalid_case_definition": "The case definition is invalid",
      "case_not_reviewed": "The case was not reviewed",
      "missing_check": "A required check is missing",
      "duplicate_check": "A check was submitted more than once",
      "unknown_check": "A check does not belong to this task",
      "wrong_version": "The check version does not match",
      "wrong_authority": "The evidence cannot establish this type of result",
      "wrong_fixture": "Evidence belongs to another test instance",
      "stale_observation": "The observation predates confirmed stopping",
      "untrusted_origin": "The evidence origin cannot establish this result",
      "artifact_not_finalized": "The deliverable has not been finalized",
      "execution_not_finished": "Execution is not finished",
      "unknown_stop_control": "Stopping has not been confirmed",
      "checker_unavailable": "The checker was unavailable"
    },
    "manualReview": "Record an owner verification",
    "waitForStop": "Wait for execution to finish before recording a final observation.",
    "automatedCheckOnly": "This task requires saved-state or finalized-deliverable checks. An owner review cannot impersonate those checks.",
    "manualReviewHelp": "Observe the result against each approved success criterion. Record what you saw and its evidence basis. This review is attributed to you.",
    "checkResult": {
      "satisfied": "Satisfied",
      "partially_satisfied": "Partly satisfied",
      "unsatisfied": "Not satisfied",
      "unavailable": "Could not check"
    },
    "observationBasis": "What did you observe?",
    "observationBasisHelp": "Describe the result and how you inspected it. Agent claims alone do not prove completion.",
    "observedAt": "Observation time",
    "observedAtHelp": "Use the time you inspected the result, after execution stopped.",
    "observationTimeInvalid": "The observation must be after execution stopped and cannot be in the future.",
    "evidenceReferences": "Evidence references",
    "evidenceReferencesHelp": "One saved reference per line: attempt:<ID>, event:<ID>, artifact:<ID>, or evaluation:<ID>. Each record must belong to this trial. Describe your independent observation above.",
    "saveReview": "Save owner verification",
    "reviewAuditHelp": "Corrections add a new review. Earlier outcomes and their evidence remain in the audit history.",
    "connectRunner": "Connect a runner to this batch",
    "connectionHelp": "Give your runner a testing credential scoped to this batch. It claims tasks, records evidence, asks permitted questions, and reports completion through the testing protocol.",
    "createConnection": "Create testing connection",
    "oneTimeTokenHelp": "This token is shown once and is held only on this page. Copy it to your runner before hiding it.",
    "testingToken": "Batch testing credential",
    "copyToken": "Copy credential",
    "copied": "Copied",
    "hideToken": "Hide credential",
    "tokenExpires": "Expires {{time}}",
    "httpSetup": "Send POST with JSON body {\"claimKey\":\"<UUID>\"} to this URL and put the testing credential in the Authorization: Bearer header.",
    "claimRetryHelp": "Generate a UUID claimKey for each new task request. Reuse that key when retrying the same request after a network error; use a new key for the next task.",
    "httpLifecycle": "A claim returns the assignment, generation, lease token, and deadline. Keep the lease alive with heartbeat; use fenced events, clarify, complete, and stop endpoints under runner/attempts/{attemptId}. Respect stop requests and submit bounded final evidence.",
    "connectionCredentialScope": "The testing credential grants this batch’s runner actions. It does not grant owner APIs, target account credentials, or private success checks.",
    "mcpConnection": "MCP connection",
    "mcpHeaderHelp": "Use Streamable HTTP with the testing credential in an Authorization: Bearer header. Keep credentials out of the URL.",
    "mcpDeploymentNeeded": "The testing MCP deployment is not configured for this environment. The HTTP runner protocol is available.",
    "retest": "Retest",
    "baselinePreserved": "The original run stays unchanged. This creates a new run linked to that baseline.",
    "baselineControlsRestored": "The baseline’s test selections and recorded agent settings are restored. You can edit them before running. Fresh instances and readiness checks still need evidence.",
    "baselineSetupUnsupported": "This baseline uses several agent configurations or repetition counts. This setup cannot preserve that full matrix, so launching is unavailable here.",
    "runHistory": "Previous runs",
    "runNumber": "Run {{number}}",
    "compareBaseline": "Compare with the baseline",
    "baseline": "Baseline",
    "comparisonHelp": "Review counts alongside differences in the test, agent, target, reset state, tools, permissions, and limits. A result difference by itself does not establish what caused it.",
    "comparisonUnknowns": "Configuration, fixture receipts, and product versions need independently established values before a comparison can be described as controlled. Unknown fields remain unknown.",
    "errors": {
      "invalidResponse": "The testing service returned an unreadable response.",
      "requestFailed": "The request could not be completed."
    },
    "projectedReadyCount": "{{count}} trials have owner-declared readiness. Final admission is recorded by the testing service.",
    "savedTargetChanged": "The saved product or goals changed while you were editing. Your draft is still here; review the saved values before replacing them.",
    "useSavedValues": "Use saved values",
    "finalizedDeliverables": "Finalized deliverables",
    "deliverableAuthorityHelp": "These bytes are immutable. A deliverable can establish an artifact requirement; its existence alone does not prove a change was saved in the target product.",
    "immutableArtifact": "{{bytes}} bytes · SHA-256 {{hash}}",
    "artifactEvidenceId": "Evidence ID: artifact:{{id}}",
    "comparisonField": {
      "fidelity": "Native, simulated or scripted execution",
      "tests": "Reviewed test revision",
      "agent": "Application, model, tools, instructions, and permissions",
      "runtime": "Application identity",
      "model": "Model identity",
      "tools": "Tool identity",
      "instructions": "Instruction fingerprint",
      "permissions": "Permission fingerprint",
      "target": "Product entry point and version",
      "selection": "Selected tests, surfaces, and repetitions",
      "fixture": "Starting state and reset recipe"
    },
    "comparisonStatus": {
      "same": "Recorded values match",
      "changed": "Recorded values changed",
      "unknown": "Unknown values prevent a controlled comparison"
    },
    "origin": {
      "runner_supplied": "Supplied by the runner",
      "question_punk_captured": "Captured by QuestionPunk",
      "independently_checked": "Independently checked",
      "reviewer_observed": "Observed by the owner"
    },
    "saveDraftTests": "Save test draft",
    "generationSetupNeeded": "Test generation needs billing and account setup in this environment. You can inspect the product and write reviewed tests yourself.",
    "recentProjectCoverage": "Showing the latest {{suites}} of {{suiteTotal}} test revisions and {{batches}} of {{batchTotal}} runs. Historical baseline criteria stay attached to their runs.",
    "findings": "Evidence-linked findings",
    "findingsHelp": "Link every finding to saved evidence. Describe the observed failure and the proposed change separately; label explanations and untested fixes as hypotheses. Record a change note and retest to check whether the fix helps.",
    "addFinding": "Record a finding",
    "findingTitle": "Finding title",
    "findingDescription": "What happened, and why does it matter?",
    "findingKind": "What does the evidence establish?",
    "findingKindLabel": {
      "observation": "Observation",
      "hypothesis": "Hypothesis"
    },
    "findingSeverity": "Impact on completing the goal",
    "severity": {
      "blocking": "Blocks the task",
      "high": "High impact",
      "medium": "Medium impact",
      "low": "Low impact"
    },
    "linkEvidence": "Evidence supporting this finding",
    "saveFinding": "Save finding",
    "executionRecord": "Execution record {{number}}",
    "findingStatus": {
      "open": "Open",
      "resolved": "Resolved",
      "dismissed": "Dismissed"
    },
    "findingStatusLabel": "Finding status",
    "hypothesisHelp": "This is a possible explanation. Test the proposed change before treating it as a demonstrated cause.",
    "recordChange": "Record a change or resolution",
    "changeNote": "Review or resolution note",
    "productChange": "What changed in the product?",
    "productChangeHelp": "Describe a concrete intervention. Preserve the baseline and retest it with comparable conditions.",
    "changeRevision": "Change reference, version, or commit (optional)",
    "saveChange": "Save change record",
    "loadMoreFindings": "Load more findings",
    "partialCoverage": "Showing {{attempts}} of {{total}} trials and {{events}} of {{eventTotal}} execution records. Some history or deliverables are on additional pages; missing loaded records do not establish missing evidence.",
    "previousTrials": "Previous trials",
    "nextTrials": "Next trials",
    "loadMoreEvidence": "Load more evidence history",
    "outcomeCountSummary": "{{eligible}} eligible attempts: {{partiallyCompleted}} partial, {{failed}} failed, {{unverified}} unverified, {{unavailable}} unavailable checks. {{pending}} trials pending.",
    "independentObservations": "Captured check observations",
    "independentObservationsHelp": "The check worker captured these observations from the saved sources. Runner claims appear in the execution evidence. Compare the source and selected value with the independently reviewed outcome.",
    "observationJob": "Saved check job: job:{{id}}",
    "observationAttempt": "Trial reference: attempt:{{id}}",
    "observationCheck": "Check reference: {{id}}",
    "observationKind": {
      "check": "Checker",
      "hosted": "Hosted runner",
      "reconcile": "Cleanup check"
    },
    "observationStatus": {
      "complete": "Collection completed",
      "failed": "Collection encountered an issue",
      "running": "Collecting",
      "queued": "Waiting to collect"
    },
    "stopConfirmation": {
      "confirmed": "Stopping confirmed",
      "unknown": "Stopping not confirmed",
      "not_recorded": "Stopping not recorded"
    },
    "observationFingerprint": "{{bytes}} source bytes · SHA-256 {{hash}}",
    "observationValueOmitted": "The selected value was omitted from saved evidence because of size or protected content limits.",
    "observationValueMissing": "No selected value was captured.",
    "selectedObservationValue": "Selected value captured by the checker",
    "observationPreviewShortened": "This preview is shortened to 4,000 characters.",
    "observationCoverage": "Showing {{loaded}} of {{total}} saved check collections.",
    "protocolOnlyNotice": "This run checks the testing workflow with synthetic responses. It is excluded from agent usability results.",
    "protocolOnlyCount": "{{count}} synthetic protocol checks, excluded from usability results.",
    "startingCondition": "Starting condition",
    "observationMode": {
      "controlled": "Controlled test instance",
      "read_only": "Read-only observation"
    },
    "observationHelp": "Observe a public website or explicitly allowed read-only MCP tools using a fresh runner context. The remote product is not reset or version-controlled. Connected safeguards and receipt references are owner declarations until independently captured; this mode does not establish controlled equivalence.",
    "observationResultsHelp": "This is a read-only observational run. Remote state, reset and execution control are unverified; connected safeguards and evidence references are owner declarations until independently captured. Comparisons are observational and do not establish controlled equivalence. Agent claims and checked outcomes remain separate.",
    "observationEvidenceHelp": "Use actual evidence from your read-only adapter. A public inspection does not establish runner access, a fresh context, or stopped execution. Do not enter credentials or private reference handles here.",
    "observationInstances": "Fresh observation evidence",
    "observationInstancesHelp": "One line per selected trial: fresh context reference | capture reference | capture SHA-256 | read-only permission reference. Use a separate fresh context for each trial. These references record declarations, not proof of a remote reset.",
    "accessRevision": "Public access binding revision (UUID)",
    "observationPermissions": "Target permission SHA-256",
    "websiteReadPolicy": "Browser read-only policy SHA-256",
    "websiteReadRoutes": "Allowed public website paths",
    "websiteReadRoutesHelp": "One exact path per line, including the entry path. GET and HEAD only; no queries, redirects, wildcard paths, forms, or MCP endpoint routes. Use the paths frozen in your public access binding.",
    "mcpReadScope": "Read-only MCP scope",
    "mcpReadScopeHelp": "MCP and combined access require the exact declared catalog hash and an explicit allowed tool list, enforced by your read-only facade. Tool annotations alone do not grant permission. Authenticated or unavailable catalogs cannot be assumed ready.",
    "mcpCatalogDigest": "Declared MCP catalog SHA-256",
    "mcpReadTools": "Allowed read-only MCP tool names",
    "observation_format": "Enter complete context, capture, SHA-256 and permission evidence on each line.",
    "observation_unique": "Each observation needs its own fresh context reference.",
    "observation_scope": "Supply the exact binding revision, permission hashes and allowed routes or MCP catalog/tool names.",
    "observation_readiness": "Supply one fresh observation receipt per selected trial and establish tool and reviewer readiness.",
    "observation_incompatible": "Selected tests require a controlled setup. Read-only observation permits only artifact or reviewer checks and these exact passive actions: Read public website text. Follow public documentation links. Read MCP tool descriptions. Call declared read-only MCP tools. Edit and approve the tests before launching.",
    "productCompare": {
      "title": "Compare saved product runs",
      "intro": "Choose two products and their saved runs, then explicitly pair a task, agent configuration and access condition. Only your account's saved evidence is shown. Compare completion here; choosing between products requires a separate choice test.",
      "nonEquivalence": "Comparisons between products are observational. Matching saved values does not establish equivalent tasks, controlled environments, a causal advantage or agent preference. Read the goals, private success criteria and evidence alongside the counts.",
      "suggestedProducts": "Suggested products to test: Typeform, SurveyMonkey, Google Forms, Qualtrics, Listen Labs, Jotform and Tally (tally.so). Create your own projects for these or any other product. Suggestions are not tested results.",
      "firstProduct": "First product",
      "secondProduct": "Second product",
      "product": "Product project",
      "chooseProduct": "Choose a saved project",
      "savedRun": "Saved run",
      "chooseRun": "Choose a saved run",
      "recentRuns": "The selector shows up to 20 recent runs. Older runs can be loaded by their exact ID if they belong to this project and your account.",
      "noRuns": "Untested: this project has no recent saved runs. An older run may still be loaded by ID. No result is assigned.",
      "olderRun": "Load an older owned run",
      "exactRunId": "Exact saved run ID",
      "loadOwnedRun": "Load owned run",
      "openProject": "Open product project",
      "loadingEvidence": "Reading saved trials and their latest checks. Reads stop after 50 pages.",
      "incompleteEvidence": "Trial coverage is incomplete or changed during reading. Outcome counts for this selection are unavailable; whole-run totals are not substituted. Reload the saved run to retry.",
      "cursorRepeated": "Saved evidence pagination repeated or omitted a continuation cursor. Reload the run to retry.",
      "task": "Task to compare",
      "chooseTask": "Choose a task explicitly",
      "agentConfiguration": "Agent configuration",
      "chooseAgent": "Choose an agent configuration explicitly",
      "accessCondition": "Access condition",
      "chooseCondition": "Choose an access condition explicitly",
      "pairingRequired": "Select the task, agent configuration and access condition before comparing outcomes.",
      "runReference": "Saved run: {{id}}",
      "attemptReference": "Trial: attempt:{{id}}",
      "frozenTarget": "Target saved with this run",
      "variables": "Matched values, differences and unknowns",
      "exactValuesOnly": "These diagnostics compare exact saved values. Separate product revisions have different IDs; matching wording is not an independent review of task equivalence. Unknown identities and reset state remain unknown.",
      "savedConditions": "Saved testing conditions",
      "timeAllowance": "Time allowance",
      "actionAllowance": "Action allowance",
      "tokenAllowance": "Token allowance",
      "costAllowance": "Cost allowance",
      "evidence": "Selected trial claims and checked evidence",
      "loadedAttempts": "Read {{loaded}} of {{total}} saved trials in this run. Counts above apply only to the explicit selection. Pages are separate reads, not an atomic snapshot; checks or running trials can change afterward. Reload to read them again.",
      "status": {
        "saved": "Saved execution evidence for this task, agent and access condition.",
        "untested": "Untested: this run did not request this task, agent and access condition. No score is assigned.",
        "unsupported": "The recorded selection could not use this access condition. No equivalent tested surface is established; this is unattempted work, not a product failure.",
        "incomplete": "Selected outcomes are unknown until complete saved trial coverage is available.",
        "protocol_only": "Synthetic protocol checks are excluded from product usability outcomes.",
        "infrastructure_interrupted": "The selected executions were interrupted by infrastructure. These interruptions do not establish a product failure."
      },
      "count": {
        "eligible": "Eligible attempted tasks",
        "completed": "Checked completed",
        "partiallyCompleted": "Checked partly completed",
        "failed": "Checked failed",
        "unverified": "Attempted, unverified",
        "unavailable": "Check unavailable",
        "interrupted": "Infrastructure interruptions",
        "notAttempted": "Not attempted",
        "pending": "Pending trials",
        "protocolOnly": "Excluded protocol checks",
        "unclassified": "Execution classification not recorded"
      },
      "metric": {
        "time": "Measured task time",
        "tokens": "Measured tokens",
        "cost": "Measured task cost"
      },
      "field": {
        "goal": "Goal",
        "context": "Task context",
        "criteria": "Private success criteria",
        "condition": "Access condition",
        "runtime": "Agent application",
        "runtimeVersion": "Application version",
        "model": "Model",
        "tools": "Tools and versions",
        "instructions": "Instruction identity",
        "permissions": "Agent permission identity",
        "launchMode": "Execution mode",
        "fidelity": "Execution fidelity and profile identity",
        "limits": "Task allowances",
        "repetitions": "Requested repetitions",
        "target": "Product target",
        "targetVersion": "Target version",
        "fixture": "Remote state and reset"
      }
    },
    "savedSuites": "Saved test suites",
    "chooseSuite": "Choose a saved test suite",
    "suiteUnavailable": "This test-suite revision is unavailable. Choose another saved revision.",
    "suiteRevision": "{{goal}} · {{status}} · {{count}} tests · {{createdAt}}",
    "loadMoreSuites": "Load more saved suites",
    "suiteListLimit": "The saved-suite list is incomplete. Select an exact owned revision or retry.",
    "bank": {
      "title": "100-scenario test bank",
      "help": "Save five editable draft suites. All 100 scenarios are unrun. Review product fit, target facts, fixtures, permissions, limits and private checks before approval. Import starts no tests and grants no access.",
      "savedCount": "{{count}} of 100 bank scenarios saved",
      "groups": {
        "discovery_and_product_choice": "Discovery and product choice ({{count}})",
        "survey_authoring_and_delivery": "Create, edit and publish ({{count}})",
        "responses_analysis_and_export": "Responses, analysis and export ({{count}})",
        "interview_configuration": "Interview settings ({{count}})",
        "access_safety_and_recovery": "Access, safety and recovery ({{count}})"
      },
      "reviewSaved": "Review saved suite",
      "notSaved": "Not saved",
      "working": "Checking saved suites or saving drafts…",
      "import": "Save five draft suites",
      "continue": "Save remaining draft suites",
      "complete": "All 100 scenarios saved",
      "errors": {
        "invalid_saved_bank": "A saved bank mapping could not be verified. Review your saved suites before importing more.",
        "incomplete_list": "The complete saved-suite list could not be checked. Refresh before importing to avoid duplicate drafts.",
        "unconfirmed_save": "A draft save could not be confirmed. Refresh saved suites before continuing. This draft will not be resubmitted automatically.",
        "storage_unavailable": "This browser could not preserve the import status. Allow local storage before importing drafts.",
        "lock_unavailable": "This browser cannot safely coordinate this import across tabs. Use a browser that supports Web Locks.",
        "cancelled": "Import stopped. Confirm saved suites before continuing."
      }
    },
    "selection_limit": "Each run supports up to 50 task and access-mode selections. Choose one access mode or split these tests across runs.",
    "scenario": {
      "title": "Start with a product choice or ordering task",
      "help": "Describe the outcome in plain language. This adds an editable draft; review its evidence checks and allowed actions before running it.",
      "kind": {
        "choice": "Product choice",
        "ordering": "Ordering journey"
      },
      "brief": "What should the agent achieve?",
      "exposure": "How are the products presented?",
      "arm": {
        "branded": "Product names visible",
        "brand_blinded": "Neutral candidate labels"
      },
      "sourceHelp": "Candidates appear in the order below. Supply public comparison material and a source reference for each. References and owner-supplied text are declarations; actual captured sources and any brand blinding still need independent review. Keep credentials and private customer data out.",
      "blindDeclaration": "I removed identifying brand details from the supplied materials. This declaration still needs independent verification.",
      "candidate": "Candidate {{number}}",
      "productLabel": "{{candidate}}: product name",
      "material": "{{candidate}}: public comparison material",
      "source": "{{candidate}}: source reference",
      "moveEarlier": "Move {{candidate}} earlier",
      "remove": "Remove {{candidate}}",
      "addCandidate": "Add another candidate",
      "checkpoint": "Exact ready-before-purchase checkpoint",
      "orderingHelp": "Stop before submitting an order, paying, or accepting commercial terms. Interactive cart or form steps need explicit owner permissions, a disposable controlled fixture and independent state evidence. A read-only website capture cannot verify checkout readiness. This draft enables none of those actions.",
      "addDraft": "Add editable task draft",
      "added": "Task added to the editor. Save a draft, review its criteria and permissions, then connect a runner with actual evidence capture. No test has started.",
      "errors": {
        "website": "Save a website target before preparing this task.",
        "brief": "Describe the task in up to 1,000 characters.",
        "candidates": "Supply two to eight candidates with public material and source references.",
        "blind_declaration": "Confirm the materials use neutral labels and omit identifying brand details.",
        "checkpoint": "Describe the exact checkpoint to reach before any purchase.",
        "context_limit": "Shorten the brief or comparison materials; the public choice handoff supports 5,000 characters."
      }
    },
    "choiceEvidence": {
      "title": "Recorded product choice",
      "help": "This is an agent-reported choice for this task, not verified task completion, a purchase, or a general preference rate. Independently review the cited source captures and the separate completion checks.",
      "selected": "Chosen candidate",
      "declined": "No product chosen",
      "arm": "Declared exposure",
      "uncertainty": "Reported uncertainty",
      "level": {
        "low": "Low",
        "medium": "Medium",
        "high": "High"
      },
      "order": "Declared exposure order",
      "identity": "Task {{taskId}} · exposure SHA-256 {{hash}}",
      "blindHelp": "Blind labels alone do not prove brand blinding. Review the actual material and source captures for identifying details.",
      "references": "Agent-cited references (source support still needs review)",
      "invalid": "This saved artifact cannot be read as a supported choice record. Its original content remains below; no choice or completion is inferred."
    },
    "runSelector": {
      "counts": "Showing {{visible}} of {{total}} tests · {{selected}} selected",
      "hiddenSelected": "Selected outside this search: {{count}}",
      "hostedScope": "This hosted configuration is approved for {{eligible}} of {{total}} tests. Other tests cannot be selected here.",
      "selectVisible": "Select visible tests",
      "clearVisible": "Clear visible tests",
      "clearSearch": "Clear search",
      "bulkHelp": "Bulk selection changes only visible tests. Hidden selections and existing retest access modes are preserved.",
      "noMatches": "No eligible tests match this search.",
      "list": "Tests to include in this run"
    },
    "workspace": {
      "studyLabel": "Agent usability study",
      "newStudy": "Start with a product and a goal",
      "newStudyHelp": "What should an agent accomplish? We inspect the public entry points first. You can then refine proposed tasks or write your own.",
      "taskList": "Task scenarios",
      "searchTasks": "Find a test",
      "searchTasksPlaceholder": "Test number, goal or context",
      "filterTasks": "Review status",
      "taskFilter": {
        "all": "All tests ({{count}})",
        "attention": "Missing task details ({{count}})",
        "draft": "Draft ({{count}})",
        "reviewed": "Reviewed ({{count}})"
      },
      "visibleTasks": "Showing {{visible}} of {{total}} tests",
      "clearTaskFilters": "Clear filters",
      "selectedTaskHidden": "Test {{number}} is still open in the editor but is hidden by these filters.",
      "showSelectedTask": "Show selected test",
      "noTaskMatches": "No tests match these filters.",
      "emptyGoal": "Add a goal for this task",
      "noCondition": "Choose an access mode",
      "incomplete": "Missing task details",
      "checkCount": "{{count}} private checks",
      "unsaved": "Unsaved changes",
      "agentBrief": "What the agent sees",
      "agentBriefHelp": "Give the agent a realistic goal. Context, allowed actions and question-bot answers are available below.",
      "ownerChecks": "How you verify success",
      "studyNavigation": "Study sections",
      "stage": {
        "brief": "Product brief",
        "tests": "Task scenarios",
        "run": "Agent access",
        "evidence": "Evidence"
      },
      "state": {
        "captured": "Saved inspection",
        "notInspected": "Not inspected yet",
        "reviewed": "Saved reviewed revision",
        "draftTasks": "{{count}} saved draft tasks",
        "noTasks": "Write or propose tasks",
        "chooseAccess": "Choose access and readiness",
        "reviewRequired": "Review required before setup",
        "savedPlans": "{{count}} recent saved plans for this revision; evidence not loaded",
        "noPlans": "No saved plans for this revision",
        "savedEvidence": "Saved evidence loaded for this revision"
      },
      "nextAction": "Next: {{action}}",
      "next": {
        "brief": "inspect your product",
        "tests": "review the task scenarios",
        "run": "prepare agent access",
        "evidence": "review the saved evidence"
      },
      "library": "Optional test library",
      "libraryHelp": "Import the 100-scenario QuestionPunk development bank as editable drafts. Choose the relevant tasks, review their checks and arrange real access before running.",
      "manualPath": "You can continue without automatic test design.",
      "writeOrReview": "Write or review tasks",
      "jobFailedManual": "{{kind}} did not finish. Automatic test design is unavailable; write a task or use the optional library below.",
      "generationAvailability": "Why test proposals are unavailable",
      "evidenceEmpty": "Saved runs and their evidence will appear here. No results have been recorded yet.",
      "noSavedTasks": "No saved task goals",
      "revisionDetails": "Saved revision details",
      "revisionIdentity": "Revision ID: {{id}}",
      "executionAccess": "How agents can access this product",
      "executionAccessHelp": "Public inspection captures pages and tool definitions. It does not establish runnable access. Each test run needs a reviewed task, permitted tools and evidence of its starting conditions.",
      "connectedNeedsSetup": "The connection protocol is available. Supply your runner and record real access and evidence before execution.",
      "accessNotConfirmed": "Availability has not been confirmed.",
      "reviewForAvailability": "Approve a task revision to check QuestionPunk-run availability for that exact revision.",
      "mcpOptional": "Add an MCP endpoint instead or alongside the website",
      "inspectManualHelp": "Public inspection is available. You can write or import tasks afterward; automatic proposals are currently unavailable.",
      "beforeRun": "Before you can create this run",
      "chooseTasks": "Choose at least one task and access mode.",
      "reduceTrials": "Reduce the selected tasks or repetitions to at most 1,000 trials.",
      "connectionUnavailable": "Connected testing is not available yet. Retry the availability check above.",
      "nameRunner": "Enter the agent application you will connect.",
      "addObservationEvidence": "Open readiness below to record fresh observation receipts, target permissions, tool access and reviewer evidence for every selected trial.",
      "addFreshLabels": "Open readiness below and supply one fresh test-instance label per selected trial.",
      "hostedNotAvailable": "No runnable hosted profile is available for this revision.",
      "agentContext": "Additional context for the agent",
      "missingActions": "Add explicit allowed actions before approving these tasks. No actions are permitted by default."
    }
  }
}
