{
  "common": {
    "cancel": "Cancel",
    "continue": "Continue",
    "delete": "Delete",
    "error": "Something went wrong",
    "working": "Working…",
    "retry": "Retry",
    "search": "Search",
    "clearSearch": "Clear search",
    "clearFilters": "Clear filters",
    "clear": "Clear",
    "first": "First",
    "previous": "Previous",
    "next": "Next",
    "selectedCount": "{count} selected",
    "typeToConfirm": "Type {phrase} to confirm"
  },
  "dataEntry": {
    "calendar": {
      "today": "Today",
      "close": "Close",
      "nav": "{label} navigation",
      "name": "Calendar"
    },
    "datePicker": {
      "placeholder": "Select date",
      "openCalendar": "Open calendar",
      "quarter": "Q{quarter}"
    },
    "dateRangePicker": {
      "placeholder": "Select date range",
      "from": "From",
      "to": "To",
      "openCalendar": "Open calendar"
    },
    "timePicker": {
      "placeholder": "Select time",
      "hour": "Hour",
      "minute": "Minute",
      "typeLabel": "Type time HH:mm",
      "openPicker": "Open time picker",
      "meridiem": "AM/PM",
      "am": "AM",
      "pm": "PM",
      "now": "Now",
      "confirm": "OK",
      "second": "Second"
    },
    "searchInput": {
      "placeholder": "Search…"
    },
    "autocomplete": {
      "placeholder": "Search or select…",
      "empty": "No results found"
    },
    "colorPicker": {
      "ariaLabel": "Pick color",
      "hexLabel": "Hex color value"
    },
    "upload": {
      "dropzoneLabel": "Upload files",
      "dropzoneHint": "Drag and drop files here, or click to browse",
      "dropzoneMeta": "Selected files appear here.",
      "buttonLabel": "Choose file",
      "addImage": "Add image",
      "uploading": "Uploading…",
      "pendingReplace": "New image",
      "pendingReplaceHint": "New image staged — save form to apply",
      "avatarLabel": "Profile photo",
      "change": "Change",
      "removeAvatar": "Remove photo",
      "markedForDelete": "Photo will be removed when you save",
      "undo": "Undo",
      "cropTitle": "Crop photo",
      "cropZoom": "Zoom",
      "cropConfirm": "Use photo",
      "inputLabel": "Choose files",
      "statusUploading": "Uploading {count} file(s)…",
      "statusReady": "{count} file(s), {done} uploaded",
      "statusFailed": "{count} upload(s) failed",
      "removeImage": "Remove image",
      "removeFile": "Remove {name}",
      "cropDescription": "Drag the zoom slider, then save to crop your photo to a square.",
      "preview": "Preview",
      "download": "Download",
      "retry": "Retry",
      "start": "Upload",
      "cancel": "Cancel",
      "rejectAccept": "{name}: file type is not allowed.",
      "rejectSize": "{name}: file is too large.",
      "rejectCount": "{name}: file limit reached.",
      "rejectBeforeUpload": "{name}: file validation failed.",
      "readFailed": "Could not read the selected folder."
    },
    "cascader": {
      "placeholder": "Select…",
      "searchPlaceholder": "Search…",
      "empty": "No results",
      "clear": "Clear selection"
    },
    "treeSelect": {
      "placeholder": "Select…",
      "searchPlaceholder": "Search…",
      "empty": "No data",
      "expand": "Expand",
      "collapse": "Collapse",
      "clear": "Clear selection"
    },
    "transfer": {
      "source": "Source",
      "target": "Target",
      "searchPlaceholder": "Search…",
      "empty": "No data",
      "moveRight": "Move to target",
      "moveLeft": "Move to source",
      "selectAllSource": "Select all in source",
      "selectAllTarget": "Select all in target"
    },
    "searchSelect": {
      "placeholder": "Select…",
      "search": "Search",
      "clear": "Clear selection",
      "loading": "Loading…",
      "empty": "No results",
      "error": "Couldn’t load options"
    },
    "selection": {
      "overflow": "+{count}"
    },
    "monthPicker": {
      "openGrid": "Open month grid",
      "previousYear": "Previous year",
      "nextYear": "Next year",
      "placeholder": "Select month"
    },
    "branchScope": {
      "label": "Branch scope",
      "all": "All branches",
      "allDescription": "Applies to every current and future branch",
      "selected": "Selected branches only",
      "selectedDescription": "Applies only to the branches checked below",
      "listLabel": "Branches",
      "searchPlaceholder": "Search branches",
      "selectedCount": {
        "one": "{count} branch selected",
        "other": "{count} branches selected"
      },
      "empty": "No branches to choose from",
      "error": "Could not load branches",
      "denied": "You do not have permission to view branches",
      "loading": "Loading branches…",
      "noMatches": "No branches match your search"
    },
    "formErrors": {
      "title": "Please review the following errors"
    },
    "form": {
      "optional": "(optional)",
      "success": "Valid",
      "warning": "Please review",
      "error": "Invalid",
      "validating": "Validating",
      "submitFailed": "Could not submit the form. Please try again."
    },
    "chatComposer": {
      "label": "Message",
      "placeholder": "Write a message",
      "send": "Send message",
      "cancel": "Stop generating",
      "hintEnter": "Enter to send · Shift + Enter for a new line",
      "hintShiftEnter": "Shift + Enter to send · Enter for a new line",
      "hintModEnter": "{modifier} + Enter to send · Enter for a new line"
    },
    "chatSuggestion": {
      "label": "Suggestions",
      "empty": "No suggestions match",
      "count": {
        "one": "{count} suggestion",
        "other": "{count} suggestions"
      }
    },
    "attachments": {
      "placeholderTitle": "Upload files",
      "placeholderDescription": "Click or drag files here",
      "dropLabel": "Drop files ({type})",
      "inputLabel": "Choose attachment files",
      "add": "Add attachment",
      "remove": "Remove {name}",
      "uploading": "Uploading attachment",
      "error": "Upload failed"
    }
  },
  "feedback": {
    "errorPanel": {
      "title": "Couldn't load this section"
    },
    "genericError": "Something went wrong. Please retry.",
    "alert": {
      "dismiss": "Dismiss",
      "verifying": "Verifying…",
      "stepUpFailed": "Re-authentication failed. Please try again."
    }
  },
  "layout": {
    "pageHeader": {
      "loading": "Loading page…"
    },
    "sidebar": {
      "ariaLabel": "Primary"
    },
    "appShell": {
      "sidebarLabel": "Sidebar",
      "navRailLabel": "Workspaces",
      "headerLabel": "Header",
      "mainLabel": "Main content",
      "footerLabel": "Footer",
      "openNav": "Open navigation menu",
      "navLabel": "Menu"
    },
    "authShell": {
      "brandLabel": "Brand",
      "mainLabel": "Main content",
      "footerLabel": "Footer"
    },
    "centeredShell": {
      "headerLabel": "Header",
      "mainLabel": "Main content",
      "footerLabel": "Footer"
    },
    "legalDocumentShell": {
      "contents": "Contents",
      "version": "Version {version}",
      "effectiveDate": "Effective {date}"
    },
    "errorSurface": {
      "statusLabel": "HTTP status {status}",
      "requestId": "Request ID",
      "permission": "Required permission",
      "organization": "Organization",
      "maintenanceWindow": "Scheduled maintenance",
      "maintenanceProgress": "Maintenance progress {percent}"
    },
    "topbar": {
      "toggleSidebar": "Toggle sidebar",
      "search": "Search",
      "searchPlaceholder": "Search...",
      "notifications": "Notifications",
      "tweaks": "Open settings"
    },
    "serviceRolePanel": {
      "rolesLabel": "Roles",
      "detailLabel": "Role detail",
      "locked": "Locked",
      "memberCount": {
        "one": "{count} member",
        "other": "{count} members"
      },
      "selectRole": "Select {role}",
      "deleteRole": "Delete {role}",
      "deleteTitle": "Delete this role?",
      "deleteDescription": "Deleting {role} removes its permissions from every assigned member. This cannot be undone.",
      "deleteConfirm": "Delete role",
      "empty": "No roles yet",
      "emptyDescription": "Create a role to start assigning permissions.",
      "error": "Could not load roles",
      "errorDescription": "The data could not be fetched. Try again shortly.",
      "denied": "You do not have permission to view roles",
      "deniedDescription": "Ask an administrator to grant you access.",
      "loading": "Loading roles…",
      "noDetail": "Select a role to see its detail"
    },
    "orgSwitcher": {
      "hintMove": "Move",
      "hintSelect": "Select",
      "hintClose": "Close"
    },
    "draggablePanel": {
      "moveLabel": "Move panel. Use the arrow keys to move it, or hold Shift for larger steps."
    }
  },
  "dataDisplay": {
    "avatar": {
      "presence": {
        "online": "Online",
        "away": "Away",
        "busy": "Busy",
        "offline": "Offline"
      }
    },
    "carousel": {
      "roleDescription": "carousel",
      "ariaLabel": "Carousel",
      "slideLabel": "{index} of {total}",
      "previous": "Previous",
      "next": "Next",
      "dotsLabel": "Choose slide",
      "goToSlide": "Go to slide {index}"
    },
    "featureList": {
      "included": "Included",
      "excluded": "Not included",
      "limited": "Limited"
    },
    "listRow": {
      "unread": "Unread",
      "read": "Read"
    },
    "marquee": {
      "pause": "Pause scrolling",
      "play": "Resume scrolling",
      "pauseNamed": "Pause scrolling: {label}",
      "playNamed": "Resume scrolling: {label}"
    },
    "permissionMatrix": {
      "caption": "Role and permission matrix",
      "permissionColumn": "Permission",
      "granted": "Granted",
      "notGranted": "Not granted",
      "difference": "Difference",
      "toggle": "Grant {permission} to {role}",
      "locked": "Locked",
      "empty": "No permissions to show",
      "error": "Could not load the permission matrix",
      "errorDescription": "The data could not be fetched. Try again shortly.",
      "denied": "You do not have permission to view this matrix",
      "deniedDescription": "Ask an administrator to grant you access.",
      "loading": "Loading permissions…"
    },
    "progress": {
      "ariaLabel": "Progress",
      "breakdownSeparator": ", "
    },
    "scrollArea": {
      "region": "Scrollable region"
    },
    "tree": {
      "expand": "Expand",
      "collapse": "Collapse",
      "loading": "Loading child nodes…",
      "empty": "Nothing to show",
      "selected": "Selected"
    },
    "thoughtChain": {
      "label": "Reasoning steps",
      "status": {
        "loading": "in progress",
        "success": "done",
        "error": "failed",
        "abort": "stopped"
      }
    },
    "timeline": {
      "statusDone": "Completed: ",
      "statusCurrent": "Current: ",
      "statusPending": "Upcoming: "
    }
  },
  "ui": {
    "rating": {
      "ariaLabel": "Rating",
      "starLabel": "{star} / {max}"
    },
    "tagInput": {
      "inputLabel": "Add tags",
      "removeTag": "Remove {tag}",
      "tagCount": "{count} tags"
    },
    "passwordInput": {
      "show": "Show password",
      "hide": "Hide password"
    },
    "credentialReveal": {
      "secretLabel": "Secret",
      "warning": "This secret is shown only once. Copy it now — you won't be able to see it again.",
      "show": "Reveal secret",
      "hide": "Hide secret",
      "copy": "Copy secret",
      "copied": "Copied",
      "copiedAnnounce": "Secret copied to clipboard",
      "download": "Download secret",
      "acknowledge": "I've saved it"
    },
    "floatButton": {
      "backTop": "Back to top",
      "actions": "Actions"
    },
    "numberInput": {
      "increment": "Increase",
      "decrement": "Decrease",
      "incrementField": "Increase {label}",
      "decrementField": "Decrease {label}"
    },
    "typography": {
      "copy": "Copy",
      "copied": "Copied",
      "edit": "Edit",
      "expand": "Expand",
      "collapse": "Collapse"
    }
  },
  "navigation": {
    "tabs": {
      "addTab": "Add tab",
      "removeTab": "Close tab",
      "moreTabs": "More tabs"
    },
    "steps": {
      "ariaLabel": "Progress",
      "percentLabel": "Current step progress",
      "status": {
        "wait": "Waiting",
        "process": "Current step",
        "finish": "Completed",
        "error": "Error"
      }
    },
    "breadcrumb": {
      "ariaLabel": "Breadcrumb"
    },
    "anchor": {
      "ariaLabel": "On this page"
    },
    "toolbar": {
      "ariaLabel": "Filters"
    },
    "filterBar": {
      "appliedFilters": "Applied filters",
      "clearFilter": "Clear {label} selection",
      "removeFilter": "Remove filter: {label}",
      "resultCount": {
        "one": "{count} result",
        "other": "{count} results"
      }
    },
    "localePicker": {
      "ariaLabel": "Language"
    },
    "timezonePicker": {
      "ariaLabel": "Timezone"
    },
    "timeFormatPicker": {
      "ariaLabel": "Time format"
    },
    "dateFormatPicker": {
      "ariaLabel": "Date format"
    },
    "pagination": {
      "ariaLabel": "Pagination",
      "prev": "Previous page",
      "next": "Next page",
      "page": "Page {page}",
      "pageSize": "Page size",
      "pageSizeTrigger": "{size} / page",
      "jumpTo": "Go to page",
      "pageSizeOption": "{size} / page",
      "total": {
        "one": "Total {total} item",
        "other": "Total {total} items"
      }
    },
    "themePicker": {
      "ariaLabel": "Theme",
      "light": "Light",
      "dark": "Dark",
      "system": "System"
    },
    "densityPicker": {
      "ariaLabel": "Density",
      "compact": "Compact",
      "default": "Default",
      "comfortable": "Comfortable"
    },
    "fontSizePicker": {
      "ariaLabel": "Font size",
      "sm": "Small",
      "default": "Default",
      "lg": "Large"
    },
    "brandPicker": {
      "ariaLabel": "Brand",
      "none": "App default",
      "brand": "GodX Navy",
      "crm": "CRM Violet",
      "logistics": "Logistics Teal",
      "partner": "Partner Orange",
      "slate": "HQ Slate"
    },
    "settingToggle": {
      "label": "{setting}: {value}"
    },
    "conversations": {
      "label": "Conversations",
      "creation": "New conversation",
      "rowActions": "More actions for {label}"
    },
    "megaMenu": {
      "label": "Main navigation"
    }
  },
  "locale": {
    "vi": "Tiếng Việt",
    "en": "English",
    "ja": "日本語"
  },
  "timeFormat": {
    "24h": "24-hour",
    "12h": "12-hour (AM/PM)"
  },
  "dateFormat": {
    "iso": "ISO (yyyy-MM-dd)",
    "ymd": "Year / Month / Day (yyyy/MM/dd)",
    "dmy": "Day / Month / Year",
    "mdy": "Month / Day / Year"
  },
  "timezone": {
    "Asia/Ho_Chi_Minh": "Vietnam (Ho Chi Minh)",
    "Asia/Tokyo": "Japan (Tokyo)",
    "Asia/Bangkok": "Thailand (Bangkok)",
    "Asia/Singapore": "Singapore",
    "Asia/Seoul": "Korea (Seoul)",
    "Asia/Shanghai": "China (Shanghai)",
    "Asia/Taipei": "Taiwan (Taipei)",
    "Asia/Hong_Kong": "Hong Kong",
    "UTC": "UTC",
    "Europe/London": "UK (London)",
    "America/Los_Angeles": "US (Los Angeles)",
    "America/New_York": "US (New York)"
  },
  "dataTable": {
    "selectAll": "Select all rows",
    "selectRow": "Select row {id}",
    "bulkActions": "Bulk actions",
    "densityCompact": "Compact",
    "densityComfortable": "Comfortable",
    "densitySwitch": "Switch to {density} density",
    "rowActions": "Row actions",
    "empty": "No data",
    "loading": "Loading…",
    "error": "Couldn't load this list",
    "errorDescription": "The data could not be retrieved. Try again in a moment.",
    "denied": "You don't have access to this list",
    "deniedDescription": "Ask an administrator to grant you permission to view these records.",
    "selectInvert": "Invert selection",
    "selectNone": "Clear selection",
    "selectionMenu": "Selection options",
    "filterColumn": "Filter",
    "filterReset": "Reset filter",
    "expandColumn": "Expand",
    "expandRow": "Expand row",
    "collapseRow": "Collapse row",
    "sortAscending": "Sort ascending",
    "sortDescending": "Sort descending",
    "sortCancel": "Cancel sort",
    "selectColumn": "Select",
    "scrollRegion": "Scrollable table"
  },
  "dataGrid": {
    "search": "Search",
    "searchPlaceholder": "Search…",
    "view": "View",
    "toggleColumns": "Toggle columns",
    "rowsPerPage": "Rows per page",
    "pageOf": "Page {page} of {total}"
  },
  "status": {
    "active": "Active",
    "trialing": "Trialing",
    "past_due": "Past due",
    "incomplete": "Incomplete",
    "canceled": "Canceled",
    "completed": "Completed",
    "delivered": "Delivered",
    "done": "Done",
    "permanent": "Permanent",
    "succeeded": "Succeeded",
    "draft": "Draft",
    "pending": "Pending",
    "scheduled": "Scheduled",
    "sending": "Sending",
    "temporary": "Temporary",
    "bounced": "Bounced",
    "cancelled": "Cancelled",
    "deleted": "Deleted",
    "failed": "Failed",
    "private": "Private",
    "internal": "Internal",
    "public": "Public",
    "ASSIGNMENT_STATUS_ACTIVE": "Active",
    "ASSIGNMENT_STATUS_SUSPENDED": "Suspended",
    "ASSIGNMENT_STATUS_TERMINATED": "Terminated"
  },
  "query": {
    "loadMore": "Load more",
    "refreshing": "Updating…",
    "error": {
      "title": {
        "auth": "Session expired",
        "forbidden": "Access denied",
        "notFound": "Not found",
        "validation": "Check your input",
        "transient": "Something went wrong",
        "unknown": "Something went wrong"
      },
      "description": {
        "auth": "Your session has ended. Sign in again to continue.",
        "forbidden": "You don't have permission to view this. Contact an administrator if you need access.",
        "notFound": "We couldn't find what you were looking for. It may have been moved or removed.",
        "validation": "The request couldn't be completed. Review your input and try again.",
        "transient": "A temporary problem occurred. Please try again in a moment.",
        "unknown": "An unexpected error occurred. Please try again later."
      },
      "action": {
        "signIn": "Sign in again"
      }
    }
  },
  "chart": {
    "empty": "No data to display",
    "summaryCartesian": "Chart with {series} series across {points} data points",
    "summaryPie": "Pie chart with {slices} slices",
    "summaryTrend": "Bar trend with {points} data points",
    "trendCurrent": "current"
  },
  "rangeTimeline": {
    "childRows": "Child rows",
    "outsideAfter": "After the visible range",
    "outsideBefore": "Before the visible range",
    "schedule": "Schedule"
  },
  "textExamples": {
    "preservedText": "Plain text",
    "sampleText": "First line\n  Indented line\n\nLast line"
  },
  "chat": {
    "bubble": {
      "typing": "Typing…",
      "loading": "Loading the message",
      "you": "You",
      "assistant": "Assistant",
      "tone": {
        "info": "Information",
        "success": "Success",
        "warning": "Warning",
        "destructive": "Error"
      }
    },
    "list": {
      "label": "Conversation",
      "jumpToLatest": "Jump to latest",
      "newMessages": {
        "one": "{count} new message",
        "other": "{count} new messages"
      }
    }
  },
  "general": {
    "actions": {
      "label": "Message actions",
      "copy": "Copy",
      "copied": "Copied",
      "feedback": "Was this answer helpful?",
      "like": "Helpful",
      "dislike": "Not helpful",
      "status": {
        "running": "running",
        "loading": "loading",
        "error": "failed"
      }
    }
  },
  "themeShowcase": {
    "page": {
      "title": "Flexible theme customization",
      "subtitle": "One seed moves the whole system. Pick a palette and every control, surface, mark and focus ring on the board below repaints in place."
    },
    "bar": {
      "title": "Theme",
      "description": "The chips set the --primary seed inside a scope. Nothing here edits a component, forks a stylesheet or overrides a role.",
      "paletteLabel": "Palette",
      "cornerLabel": "Corner radius",
      "customLabel": "Custom seed",
      "customHint": "Any hex. The hover, pressed, border, focus and link steps all derive from it.",
      "identityNote": "The identity colour deliberately stays where it is: a tenant that changes its action colour does not retint its logo."
    },
    "palette": {
      "godx": "GoDX",
      "indigo": "Indigo",
      "teal": "Teal",
      "amber": "Amber",
      "rose": "Rose",
      "custom": "Custom"
    },
    "corner": {
      "sharp": "Sharp",
      "default": "Default",
      "soft": "Soft"
    },
    "tabs": {
      "components": "Components",
      "dashboard": "Dashboard"
    },
    "form": {
      "email": "Work email",
      "emailHint": "Release notices only.",
      "emailPlaceholder": "you@ops.example.jp",
      "handle": "Handle",
      "regions": "Regions",
      "regionsPlaceholder": "Select regions",
      "regionsEmpty": "No region selected yet.",
      "labels": "Labels",
      "labelsPlaceholder": "Add a label",
      "plan": "Plan",
      "releaseDate": "Release date",
      "channels": "Notification channels",
      "cadence": "Cadence",
      "density": "Row density",
      "autoDeploy": "Deploy on merge",
      "autoDeployHint": "A green pipeline promotes to staging without asking.",
      "freeze": "Release freeze",
      "budget": "Error budget · {value}",
      "syncing": "Syncing the release ledger"
    },
    "plan": {
      "starter": "Starter",
      "standard": "Standard",
      "scale": "Scale"
    },
    "channel": {
      "email": "Email",
      "escalation": "Escalate to the on-call rotation when a release stays in review for longer than one working day, including weekends and public holidays in the owning region",
      "escalationHint": "Sent to the rotation, never to an individual.",
      "pager": "Pager"
    },
    "cadence": {
      "daily": "Daily",
      "weekly": "Weekly",
      "manual": "Manual"
    },
    "density": {
      "compact": "Compact",
      "default": "Default",
      "comfortable": "Comfortable"
    },
    "steps": {
      "caption": "Release progress",
      "finished": "Finished",
      "finishedHint": "Artefacts signed and archived.",
      "inProcess": "In process",
      "waiting": "Waiting",
      "waitingHint": "Blocked on the contrast audit for the new seed."
    },
    "progress": {
      "rollout": "Rollout · {value}",
      "quota": "Build minutes · {value}",
      "done": "Done"
    },
    "legend": {
      "failed": "Failed",
      "review": "In review",
      "shipped": "Shipped"
    },
    "status": {
      "caption": "Status marks",
      "success": "Success",
      "error": "Error",
      "default": "Default",
      "processing": "Processing",
      "warning": "Warning",
      "seed": "Seed"
    },
    "action": {
      "primary": "Deploy",
      "secondary": "Compare",
      "outline": "Roll back",
      "dashed": "Add stage",
      "ghost": "Logs",
      "deploying": "Deploying",
      "discard": "Discard this release candidate"
    },
    "confirm": {
      "trigger": "Delete release",
      "title": "Delete this release?",
      "description": "The artefacts stay in the registry. The release record and its approvals do not.",
      "cancel": "Keep",
      "ok": "Delete"
    },
    "avatars": {
      "caption": "12 reviewers"
    },
    "rating": {
      "1": "Unusable",
      "2": "Rough",
      "3": "Acceptable",
      "4": "Good",
      "5": "Shippable"
    },
    "otp": {
      "title": "Verify this device",
      "description": "Enter the six-digit code from your authenticator app.",
      "field": "Verification code",
      "verify": "Verify"
    },
    "signup": {
      "title": "Create an account",
      "description": "One account covers every environment you have been granted.",
      "email": "Work email",
      "password": "Password",
      "submit": "Create account",
      "or": "or",
      "sso": "Continue with single sign-on",
      "passkey": "Continue with a passkey"
    },
    "notify": {
      "title": "Notifications",
      "longTitle": "Your invitation to the Platform Reliability and Release Governance working group is waiting for a response",
      "longMeta": "2026-09-12 09:12 UTC · expires in 3 days",
      "open": "Open",
      "bareTitle": "Invoice issued"
    },
    "qr": {
      "caption": "Authenticator enrolment",
      "label": "Two-factor authentication setup code",
      "manualKey": "Manual setup key"
    },
    "welcome": {
      "title": "Start from one hex",
      "description": "Give the generator a brand colour and it writes the seed file, measures every contrast pair and refuses the ones that miss.",
      "dismiss": "Dismiss"
    },
    "chat": {
      "assistant": "Assistant",
      "sent": "09:41",
      "answer": "The seed is scoped to the board, so the rest of the document keeps its own palette.",
      "bare": "And the focus ring?"
    },
    "thought": {
      "label": "How the seed was applied",
      "read": "Read the scope",
      "readHint": "[data-godx-theme] on the board root",
      "contrast": "Measure the pair",
      "contrastBody": "Label on fill and fill on canvas, both themes, against WCAG 2.2 SC 1.4.3 and SC 1.4.11.",
      "write": "Write the email fallback"
    },
    "carousel": {
      "caption": "Shipped palettes"
    },
    "alert": {
      "title": "Check",
      "description": "The custom seed is applied as authored. Nothing lifts a light seed onto the dark spine, so a brand that has to read on both canvases needs a second value measured against the dark one.",
      "okTitle": "Contrast verified"
    },
    "timeline": {
      "seedApplied": "Seed applied",
      "scope": "Board scope",
      "contrastQueued": "Contrast sweep queued"
    },
    "dashboard": {
      "releases": "Releases",
      "releasesHint": "Rolling 30 days",
      "revenue": "Recognised revenue",
      "failureRate": "Change failure rate",
      "failureHint": "Lower is better",
      "seatsLabel": "Regions in scope",
      "seats": {
        "one": "{count} region",
        "other": "{count} regions"
      },
      "mix": "Release mix",
      "activity": "Recent activity",
      "environment": "Environment",
      "owner": "Owner",
      "ledger": "Ledger reference",
      "table": "Releases",
      "tableHint": "Owners, regions and amounts are formatted for the active locale.",
      "updated": "Updated {date}",
      "rotate": "Rotate key"
    },
    "table": {
      "id": "Release",
      "owner": "Owner",
      "region": "Region",
      "ref": "Reference",
      "status": "Status",
      "amount": "Amount",
      "noRef": "Not set"
    },
    "releaseStatus": {
      "shipped": "Shipped",
      "review": "In review",
      "draft": "Draft",
      "failed": "Failed"
    }
  },
  "themeEditor": {
    "title": "Theme editor",
    "subtitle": "One seed colour in, a whole brand out, measured rather than asserted.",
    "unreadable": {
      "title": "The token stylesheet could not be read",
      "description": "This page derives a brand from the canvas colours and ramp steps the document is painting, read from the live stylesheet. Neither could be read here, so nothing below it would be a measurement."
    },
    "order": {
      "title": "Seed, then role, then scope, then instance",
      "description": "Stop at the first level that does the job. Every level below the seed is a value that has stopped deriving, and nothing tells you when the brand moves past it."
    },
    "seed": {
      "title": "1. Seed",
      "description": "The brand's action colour: what a primary button is filled with. In most cases this is the whole theme.",
      "label": "Brand seed",
      "helper": "A six digit hex. Everything below derives from it and is measured against WCAG 2.2 AA.",
      "presetLabel": "Edge cases",
      "presetHelper": "Each of these produces an answer a well behaved blue hides.",
      "presetPlaceholder": "A seed of your own",
      "preset": {
        "godx": "This package's own seed",
        "blue": "An ordinary brand blue",
        "very-light": "Near white: the fill cannot clear the light canvas",
        "very-dark": "Near black: the dark seed runs to white",
        "sunflower": "Sunflower: repoints the state steps in both themes"
      },
      "announce": {
        "one": "Seed {hex}. Light {light}, dark {dark}. {pass} of {count} measured pair clears AA.",
        "other": "Seed {hex}. Light {light}, dark {dark}. {pass} of {count} measured pairs clear AA."
      },
      "announceNoDark": "Seed {hex}. No lightness at this hue and saturation carries a readable fill on the dark canvas, so there is no dark theme to measure."
    },
    "derived": {
      "title": "2. What the seed produces",
      "description": "Read only, because these are results. Three roles per theme are written into the export; the rest derive from the primary in scope at the element that paints them, so writing them would pin them to this seed.",
      "tableLabel": "Roles derived from the seed",
      "column": {
        "token": "Token",
        "light": "Light",
        "dark": "Dark",
        "emitted": "In the export"
      },
      "written": "Written",
      "derivedOnly": "Derives"
    },
    "contrast": {
      "title": "3. Contrast",
      "description": "Every pair the seed produces, measured with the package's own WCAG helper. A label on its fill owes 4.5:1 (SC 1.4.3); a fill on the canvas behind it owes 3:1 (SC 1.4.11).",
      "tableLabel": "Measured contrast pairs",
      "column": {
        "pair": "Pair",
        "measured": "Measured",
        "threshold": "Needs",
        "result": "Result"
      },
      "pair": {
        "label-on-fill-light": "Primary label on fill, light",
        "label-on-fill-dark": "Primary label on fill, dark",
        "fill-on-canvas-light": "Primary fill on canvas, light",
        "fill-on-canvas-dark": "Primary fill on canvas, dark",
        "link-on-canvas-light": "Link ink on canvas, light",
        "link-on-canvas-dark": "Link ink on canvas, dark"
      },
      "ratio": "{value}:1",
      "pass": "Clears AA",
      "fail": "Below AA"
    },
    "overrides": {
      "title": "4. Per token overrides",
      "description": "Below the seed on purpose. Reach for one only when the seed is right and a single token must differ.",
      "costTitle": "What an override costs",
      "costDescription": "A token set by hand stops following the seed. The next brand change moves everything derived and leaves this value behind, and no audit reports it.",
      "labelTitle": "Label colour on the fill",
      "labelHelper": "By default the label is chosen by the seed's own luminance, the same 0.179 threshold a runtime re-theme uses. Forcing it is the one override the generator has a flag for.",
      "labelAuto": "Automatic",
      "labelLight": "Light label",
      "labelDark": "Dark label",
      "darkTitle": "Dark seed lightness",
      "darkHelper": "Contrast parity with the light theme puts it at {parity}. Hue and saturation are held either way; only lightness moves. An authored value is allowed to fail, and the table above is how it says so.",
      "darkNoParity": "No lightness at this hue and saturation clears both floors, so there is no parity value to depart from.",
      "darkReset": "Back to parity",
      "darkAuthored": "Authored",
      "darkParity": "At parity"
    },
    "export": {
      "title": "5. Export",
      "description": "Paste the first block into your own theme file and the second over the baked email palette, which no stylesheet can reach.",
      "nameLabel": "Theme name",
      "nameHelper": "Writes {name}.service.css and {name}.email.ts.",
      "matches": "Identical to gen:brand",
      "diverges": "No command emits this",
      "divergesWhy": "The dark seed's lightness was authored here. The generator searches for parity and has no flag for it, so no command reproduces this file.",
      "cssLabel": "Theme CSS for {name}",
      "emailLabel": "Email palette for {name}",
      "noDarkTitle": "This seed has no readable dark fill",
      "noDarkDescription": "No lightness at this hue and saturation clears both 4.5:1 on its own label and 3:1 on the dark canvas. Desaturate the seed, or force the label above and look again."
    },
    "preview": {
      "lightTitle": "Light",
      "darkTitle": "Dark",
      "seedIs": "Scoped to {hex}",
      "tableLabel": "Invoice lines",
      "column": {
        "id": "Line",
        "item": "Item",
        "owner": "Owner",
        "state": "State"
      },
      "state": {
        "active": "Active",
        "pending": "Pending"
      },
      "line": {
        "licence": "Licence",
        "support": "Support",
        "setup": "Setup"
      },
      "action": {
        "save": "Save",
        "duplicate": "Duplicate",
        "export": "Export",
        "add": "Add line",
        "dismiss": "Dismiss",
        "delete": "Delete",
        "details": "Details"
      },
      "badge": {
        "brand": "Brand",
        "success": "Paid",
        "warning": "Due soon",
        "destructive": "Overdue",
        "info": "Draft",
        "neutral": "Archived"
      },
      "alert": {
        "title": "Billing address is incomplete",
        "description": "Invoices cannot be issued until it is filled in.",
        "link": "Back to the seed"
      },
      "field": {
        "org": "Organisation",
        "orgHelper": "Appears on every issued document.",
        "plan": "Plan",
        "tax": "Include tax",
        "mail": "Send automatically"
      },
      "plan": {
        "starter": "Starter",
        "pro": "Pro",
        "scale": "Scale"
      }
    }
  },
  "marketingShowcase": {
    "brand": {
      "name": "Example Works",
      "suffix": "Approvals"
    },
    "nav": {
      "label": "Primary",
      "product": "Product",
      "solutions": "Solutions",
      "pricing": "Pricing",
      "docs": "Docs",
      "signIn": "Sign in",
      "getStarted": "Start free",
      "open": "Open navigation",
      "title": "Navigation",
      "description": "Every destination in the bar, including the two that fold away at phone width.",
      "close": "Close navigation"
    },
    "hero": {
      "eyebrow": "Approval workflow",
      "title": "Every approval, in one auditable trail.",
      "lead": "Route an invoice, a purchase order or a contract to the approver who owns it, keep the evidence beside the decision, and export the year in one file.",
      "primary": "Start free",
      "secondary": "Book a walkthrough",
      "trust": "No card. 14 days. Cancel inside the product.",
      "panelTitle": "Tonight's queue",
      "panelNote": "Live figures from one tenant, refreshed on approval.",
      "pending": "Waiting on you",
      "cleared": "Cleared today",
      "median": "Median decision",
      "medianValue": "4h 12m",
      "endpointLabel": "Webhook endpoint",
      "endpointNote": "Copied verbatim into your gateway. It has no break opportunity in it."
    },
    "logos": {
      "title": "Teams that left email approvals behind",
      "caption": "The track ships PAUSED, and the control beside it is a real button in the tab order.",
      "marqueeLabel": "Customer wordmarks"
    },
    "features": {
      "title": "What it does",
      "lead": "Six capabilities, and not one of them is a new component.",
      "routingTitle": "Routing",
      "routingBody": "A rule reads the amount, the cost centre and the vendor, then picks the approver who owns that combination.",
      "auditTitle": "An audit trail your accountant can read without asking anyone what a status code means",
      "residencyTitle": "Residency",
      "residencyBody": "Every document and every derived index stays in the Tokyo region.",
      "evidenceTitle": "承認の証跡",
      "evidenceBody": "決裁の理由と添付を同じ行に残します。Evidence and decision are one record, not two systems.",
      "webhookTitle": "Webhooks",
      "webhookBody": "Each endpoint carries an identifier with nowhere to break, and the card holds it:",
      "ssoTitle": "SSO",
      "ssoBody": "SAML and OIDC, with group mapping onto approval roles."
    },
    "testimonials": {
      "title": "What the first year looked like",
      "label": "Customer quotes",
      "ratingLabel": "Rating",
      "q1": "We closed the quarter without a single approval sitting in somebody's inbox, the auditor asked for one export instead of eleven, and the finance team stopped keeping a private spreadsheet to track what had actually been signed.",
      "a1": "山口 佳奈",
      "r1": "Controller, Aoba Foods",
      "q2": "It stopped the arguments.",
      "a2": "Dana Whitfield",
      "r2": "Head of Procurement, Meridian Health",
      "q3": "Chúng tôi chuyển 240 quy trình phê duyệt sang đây trong sáu tuần, và không mất một chứng từ nào.",
      "a3": "Trần Minh Khoa",
      "r3": "Finance Lead, Truong An"
    },
    "pricing": {
      "title": "Pricing",
      "lead": "Per approver, per month. The yearly cycle bills once.",
      "cycleLabel": "Billing cycle",
      "monthly": "Monthly",
      "yearly": "Yearly",
      "perMonth": "per approver / month",
      "billedYearly": "billed once a year",
      "popular": "Most chosen",
      "saving": "2 months free",
      "fresh": "New",
      "quoted": "Quoted",
      "quotedNote": "Priced against your approver count and your residency region.",
      "starterName": "Starter",
      "starterNote": "One approval chain, one region.",
      "teamName": "Team",
      "teamNote": "Parallel chains, delegation, and the evidence export.",
      "enterpriseName": "エンタープライズ",
      "enterpriseNote": "専用テナント · SSO · 監査窓口。Dedicated tenant, SSO, named auditor contact.",
      "cta": "Start free",
      "ctaQuote": "Talk to us",
      "featChains": "Approval chains",
      "featDelegation": "Delegation and out-of-office",
      "featExport": "One-file audit export",
      "featSso": "SAML and OIDC",
      "featResidency": "Choice of residency region",
      "featSupport": "Named support contact",
      "limitedChains": "One chain only",
      "limitedSupport": "Business hours"
    },
    "cta": {
      "title": "Put one approval chain through it this week",
      "lead": "Import a chain from a spreadsheet, send three real approvals through it, and keep the export.",
      "primary": "Start free",
      "secondary": "Book a walkthrough",
      "note": "Sales replies within one business day, Tokyo time."
    },
    "footer": {
      "label": "Footer",
      "product": "Product",
      "company": "Company",
      "legal": "Legal",
      "contact": "Contact",
      "featuresLink": "Features",
      "pricingLink": "Pricing",
      "changelog": "Changelog",
      "status": "Status",
      "about": "About",
      "careers": "Careers",
      "terms": "Terms",
      "privacy": "Privacy",
      "security": "Security",
      "subprocessors": "Subprocessors",
      "accessibility": "Accessibility statement",
      "salesLine": "Sales",
      "supportLine": "Support",
      "addressLabel": "Registered office",
      "address": "Chiyoda, Tokyo",
      "rights": "Example Works. A fictional company, for documentation only."
    }
  }
}
