{
  "fields": {
    "title": "Product — Title",
    "subtitle": "Product — Subtitle",
    "description": "Product — Description",
    "material": "Product — Material",
    "technical_specifications": "Technical — Specifications",
    "typical_composition": "Technical — Typical composition",
    "recommended_applications": "Technical — Recommended applications",
    "technical_sheet_filename": "Technical sheet — Filename",
    "technical_sheet_url": "Technical sheet — URL",
    "technical_sheet_type": "Technical sheet — Type",
    "technical_sheet_uri": "Technical sheet — URI",
    "Availability": "Marketplace — Availability",
    "Available Quantity": "Marketplace — Available quantity",
    "Supply Frequency": "Marketplace — Supply frequency",
    "Waste Type": "Marketplace — Waste type",
    "seo_title": "SEO — Title",
    "seo_description": "SEO — Description",
    "seo_keywords": "SEO — Keywords"
  },
  "adminRoutes": {
    "common": {
      "loading": "Loading...",
      "save": "Save",
      "delete": "Delete",
      "edit": "Edit",
      "view": "View",
      "cancel": "Cancel",
      "yes": "Yes",
      "no": "No",
      "close": "Close",
      "loginRequired": "Please log in to the admin."
    },
    "locations": {
      "title": "Product Locations",
      "subtitle": "Create parent locations with nested sub-locations for filters and product waste selection.",
      "loading": "Loading locations...",
      "loadError": "Failed to load locations.",
      "empty": "No locations added yet.",
      "emptySubLocations": "No sub-locations yet.",
      "parentLabel": "Parent:",
      "actions": {
        "addLocation": "Add Location",
        "addSubLocation": "Add Sub-location",
        "editLocation": "Edit Location",
        "editSubLocation": "Edit Sub-location"
      },
      "toasts": {
        "locationAdded": "Location added successfully.",
        "locationAddError": "Failed to add location.",
        "locationUpdated": "Location updated successfully.",
        "locationUpdateError": "Failed to update location.",
        "locationDeleted": "Location deleted successfully.",
        "locationDeleteError": "Failed to delete location.",
        "subLocationAdded": "Sub-location added successfully.",
        "subLocationAddError": "Failed to add sub-location.",
        "subLocationUpdated": "Sub-location updated successfully.",
        "subLocationUpdateError": "Failed to update sub-location.",
        "subLocationDeleted": "Sub-location deleted successfully.",
        "subLocationDeleteError": "Failed to delete sub-location."
      }
    },
    "emailTemplates": {
      "title": "Email Templates",
      "subtitle": "Manage all transactional email templates",
      "layouts": "Layouts",
      "emailLogs": "Email Logs",
      "newTemplate": "+ New Template",
      "editTemplate": "Edit Template",
      "createTemplate": "Create Template",
      "saveChanges": "Save Changes",
      "active": "Active",
      "testEmail": "Test Email",
      "basicInformation": "Basic Information",
      "slugPlaceholder": "e.g. password-reset",
      "slugHint": "Unique slug used in code. Cannot be changed after creation.",
      "titlePlaceholder": "e.g. Password Reset",
      "preview": "Preview",
      "history": "History",
      "productionReadonly": "Production mode is active. Email templates are view-only, so create, edit, delete, and restore actions are disabled.",
      "empty": "No templates found. Create one to get started.",
      "loadError": "Failed to load templates",
      "toasts": {
        "deleted": "Template deleted"
      },
      "categories": {
        "all": "All",
        "user": "User",
        "order": "Order",
        "payment": "Payment",
        "admin": "Admin"
      },
      "fields": {
        "title": "Title",
        "slug": "Slug",
        "description": "Description"
      }
    },
    "cms": {
      "pageBuilder": "Page Builder",
      "componentTypes": "Component Types"
    },
    "pageBuilder": {
      "pagesTitle": "Pages",
      "newPage": "New Page",
      "loadError": "Failed to load pages.",
      "empty": "No pages. Create one to start building.",
      "deletePageTitle": "Delete page?",
      "deletePageText": "This cannot be undone.",
      "back": "Back",
      "titleLabel": "Title *",
      "slugLabel": "Slug *",
      "descriptionLabel": "Description",
      "descriptionPlaceholder": "Enter page description",
      "statusLabel": "Status",
      "draft": "Draft",
      "published": "Published",
      "sections": "Sections",
      "addSection": "Add section",
      "createSection": "Create section",
      "newSection": "New section",
      "sectionName": "Section name",
      "addComponent": "Add component",
      "removeSection": "Remove section",
      "removeSectionTitle": "Remove section?",
      "removeSectionText": "This section and all its components will be removed.",
      "noComponents": "No components. Use Add component button above.",
      "required": "Required",
      "titleRequired": "Title is required.",
      "slugRequired": "Slug is required.",
      "fillRequiredSections": "Please fill required fields in sections.",
      "pageSaved": "Page saved successfully.",
      "sectionSaved": "Section saved successfully.",
      "downloadBrochureFile": "Download Brochure File",
      "previewCurrentFile": "Preview current file",
      "uploadedFile": "Uploaded file",
      "noBrochureUploaded": "No brochure uploaded yet.",
      "replaceBrochure": "Replace brochure",
      "uploadBrochure": "Upload brochure",
      "selected": "Selected:",
      "uploadSaveBrochure": "Upload & Save Brochure",
      "saveBrochure": "Save Brochure",
      "savedTitle": "Saved",
      "failedTitle": "Failed",
      "genericError": "Something went wrong",
      "brochureSaved": "Brochure saved successfully!",
      "uploadFailed": "Upload failed",
      "saveFailed": "Save failed",
      "removeBrochureTitle": "Remove Brochure?",
      "removeBrochureText": "This will remove the brochure link.",
      "yesRemove": "Yes, remove",
      "removeFailed": "Remove failed",
      "removedTitle": "Removed"
    },
    "notFound": {
      "title": "Page not found",
      "description": "The page you are looking for does not exist.",
      "back": "Back to dashboard"
    },
    "contactInquiries": {
      "title": "Contact Inquiries",
      "subtitle": "Submissions from the contact form.",
      "loadError": "Failed to load inquiries.",
      "empty": "No contact inquiries yet.",
      "columns": {
        "nameCompany": "Name / Company",
        "email": "Email",
        "phone": "Phone",
        "country": "Country",
        "company": "Company",
        "inquiryType": "Inquiry Type",
        "message": "Message",
        "privacy": "Privacy",
        "submitted": "Submitted"
      }
    },
    "quoteRequests": {
      "title": "Quote Requests",
      "subtitle": "Personalized quote submissions from the storefront.",
      "loadError": "Failed to load quote requests.",
      "empty": "No quote requests yet.",
      "columns": {
        "company": "Company",
        "contactName": "Contact Name",
        "email": "Email",
        "phone": "Phone",
        "industry": "Industry",
        "wasteVolume": "Waste Volume",
        "needs": "Needs",
        "privacy": "Privacy",
        "comms": "Comms",
        "submitted": "Submitted"
      }
    },
    "analyticsScripts": {
      "title": "Analytics Scripts",
      "subtitle": "Manage Google Analytics and other tracking scripts for your storefront.",
      "loadError": "Failed to load analytics scripts.",
      "saveSuccess": "Analytics scripts saved successfully!",
      "saveError": "Failed to save scripts",
      "headerLabel": "Header Scripts",
      "bodyLabel": "Body Scripts",
      "footerLabel": "Footer Scripts",
      "headerHint": "Scripts to inject in the <head> section (e.g., Google Analytics tracking code)",
      "bodyHint": "Scripts to inject at the beginning of the <body> section",
      "footerHint": "Scripts to inject at the end of the <body> section (e.g., chat widgets)",
      "scriptPlaceholder": "<script>...</script>",
      "save": "Save Scripts"
    },
    "formOptions": {
      "title": "Form Options",
      "subtitle": "Manage dropdown values for storefront forms",
      "addOption": "Add Option",
      "formName": "Form Name",
      "formField": "Form Field",
      "selectForm": "Select Form",
      "selectField": "Select Field",
      "empty": "No options found for this type.",
      "saveOption": "Save Option",
      "addNewOption": "Add New Option",
      "editOption": "Edit Option",
      "form": "Form",
      "section": "Section",
      "labelRequired": "Label *",
      "valueRequired": "Value *",
      "valueHint": "Internal value used in the system (no spaces, lowercase recommended)",
      "columns": {
        "label": "Label",
        "value": "Value",
        "actions": "Actions"
      },
      "placeholders": {
        "label": "E.g. Manufacturing",
        "value": "E.g. manufacturing"
      },
      "deleteDialog": {
        "title": "Delete Option",
        "description": "Are you sure you want to delete this option?"
      },
      "toasts": {
        "optionDeleted": "Option deleted successfully",
        "optionDeleteFailed": "Failed to delete option",
        "optionCreated": "Option created successfully",
        "optionCreateFailed": "Failed to create option",
        "optionUpdated": "Option updated successfully",
        "optionUpdateFailed": "Failed to update option",
        "labelValueRequired": "Label and value are required"
      }
    },
    "locales": {
      "title": "Store Locales",
      "subtitle": "Select the optional default storefront locale. If no default is selected, storefront shows original data until a customer chooses a language.",
      "loading": "Loading locales...",
      "loadError": "Failed to load locales.",
      "empty": "No locales configured yet. Add locales in translations settings first.",
      "storeNotFound": "Store not found.",
      "saveSuccess": "Default locale updated.",
      "saveError": "Failed to update default locale.",
      "noDefaultTitle": "No default locale",
      "noDefaultSubtitle": "Use original storefront data by default.",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "save": "Save Default Locale"
    },
    "registeredUsers": {
      "title": "Registered Users",
      "subtitle": "View customer accounts created through registration and manage account access.",
      "loadError": "Failed to load registered users.",
      "empty": "No registered users yet.",
      "unnamedUser": "Unnamed User",
      "updateStatusError": "Failed to update account status.",
      "statusUpdated": "User marked as {{status}}",
      "view": "View",
      "unblock": "Unblock",
      "block": "Block",
      "columns": {
        "user": "User",
        "email": "Email",
        "phone": "Phone",
        "company": "Company",
        "country": "Country",
        "status": "Status",
        "registered": "Registered",
        "actions": "Actions"
      }
    },
    "emailLogs": {
      "title": "Email Logs",
      "subtitle": "Full delivery history — debug any email delivery issue here.",
      "loadError": "Failed to load email logs.",
      "empty": "No email logs found.",
      "total": "Total: {{count}} emails",
      "sent": "Sent",
      "failed": "Failed",
      "to": "To:",
      "error": "Error:",
      "viewEmail": "View Email",
      "previewTitle": "Email Preview",
      "toLabel": "To:",
      "subjectLabel": "Subject:",
      "templateLabel": "Template:",
      "sentAtLabel": "Sent at:",
      "previewReadonlyHint": "This preview is view-only. Links, buttons, and form fields inside the email are disabled."
    }
  },
  "biomketProduct": {
    "common": {
      "save": "Save",
      "delete": "Delete",
      "current": "Current",
      "currentWithValue": "{{value}} (Current)"
    },
    "seo": {
      "loading": "Loading SEO details...",
      "loadError": "Failed to load SEO details.",
      "title": "SEO",
      "subtitle": "Manage SEO metadata for this product.",
      "fieldTitle": "SEO Title",
      "fieldTitlePlaceholder": "Product name for search engines",
      "fieldDescription": "SEO Description",
      "fieldDescriptionPlaceholder": "Brief description for search results",
      "fieldKeywords": "SEO Keywords",
      "fieldKeywordsPlaceholder": "organic, waste, compost",
      "keywordsHint": "Comma-separated keywords",
      "saveSuccess": "SEO metadata saved successfully.",
      "saveError": "Failed to save SEO metadata."
    },
    "marketplace": {
      "loading": "Loading marketplace details...",
      "loadError": "Failed to load marketplace details.",
      "title": "Marketplace Details",
      "subtitle": "Manage the four storefront info cards and availability from the product sidebar.",
      "availabilityStatus": "Availability Status",
      "selectAvailability": "Select availability",
      "inStock": "In Stock",
      "outOfStock": "Out of Stock",
      "recurringSupply": "Recurring Supply",
      "onRequest": "On Request",
      "availableQuantity": "Available Quantity",
      "quantityPlaceholder": "500 tons/month",
      "unitOfMeasurement": "Unit of Measurement",
      "selectUnit": "Select Unit",
      "unitTonne": "Tonne (t)",
      "unitKilogram": "Kilogram (kg)",
      "unitLiter": "Liter (L)",
      "unitCubicMeter": "Cubic Meter (m3)",
      "supplyFrequency": "Supply Frequency",
      "supplyFrequencyPlaceholder": "Monthly Recurring",
      "productLocation": "Product Location",
      "selectLocation": "Select a product location",
      "wasteType": "Waste Type",
      "wasteTypePlaceholder": "Animal Feces & Urine",
      "saveSuccess": "Marketplace details saved successfully.",
      "saveError": "Failed to save marketplace details.",
      "saveMetadataError": "Failed to save marketplace metadata.",
      "saveLocationError": "Failed to save product location.",
      "currentQtyHint": "Current available inventory: {{count}} "
    },
    "technicalSheet": {
      "title": "Technical Sheet",
      "uploadLabel": "Upload Technical Sheet File",
      "selectedFile": "Selected: {{name}}",
      "preview": "Preview Technical Sheet",
      "download": "Download",
      "uploadedFileFallback": "Uploaded file",
      "noFileYet": "No technical sheet uploaded yet.",
      "saveButton": "Save Technical Sheet",
      "uploadFailed": "Upload failed",
      "saveFailed": "Failed to save technical sheet",
      "swalProductMissingTitle": "Error",
      "swalProductMissingText": "Product data is missing",
      "swalSavedTitle": "Saved",
      "swalSavedText": "Technical sheet saved successfully!",
      "swalSaveFailedTitle": "Save Failed",
      "swalGenericError": "Something went wrong"
    },
    "typicalComposition": {
      "title": "Typical Composition",
      "addRow": "+ Add Composition",
      "empty": "No composition rows added yet.",
      "labelPlaceholder": "Label (e.g., Nitrogen (N))",
      "valuePlaceholder": "Display value (e.g., 1.8-2.5%)",
      "percentPlaceholder": "Bar %",
      "save": "Save Composition",
      "productMissing": "Product data is missing.",
      "saveSuccess": "Typical composition saved successfully.",
      "saveError": "Failed to save typical composition."
    },
    "technicalSpecs": {
      "title": "Technical Specifications",
      "addRow": "+ Add Specification",
      "empty": "No specifications added yet.",
      "keyPlaceholder": "Key (e.g., pH Level)",
      "valuePlaceholder": "Value (e.g., 7.5 - 8.5)",
      "save": "Save Specifications",
      "productMissing": "Product data is missing.",
      "saveSuccess": "Technical specifications saved successfully.",
      "saveError": "Failed to save technical specifications."
    },
    "translationStructuredEditor": {
      "pageTitle": "Structured translation fields",
      "banner": "Edit technical specifications and typical composition per locale using clear form fields instead of raw JSON in the bulk translation editor.",
      "open": "Open structured editor",
      "back": "Back",
      "save": "Save changes",
      "intro": "Pick a locale that already has a translation row for this product (from Settings → Translations). Saving updates the same translation record as Translations → Product.",
      "locale": "Locale",
      "pickLocale": "Select locale",
      "loading": "Loading translations…",
      "noLocales": "No translation rows exist for this product yet. Create them under Settings → Translations → Products first.",
      "noProduct": "Missing product id.",
      "specsHeading": "Technical — Specifications",
      "specFieldLabel": "Field name",
      "specFieldValue": "Value",
      "addSpecRow": "Add row",
      "specEmpty": "No specification rows to translate.",
      "specEmptyNoDefaults": "No specification keys on this product yet. Add Technical — Specifications on the product detail page first; field names are copied from there.",
      "specKeysLockedHint": "Specification field names (left column) come from the product’s default metadata and cannot be changed here—only translate the values.",
      "compHeading": "Technical — Typical composition",
      "compLabelCol": "Label",
      "compValueCol": "Display value",
      "compPercentCol": "Bar %",
      "saveSuccess": "Structured translation fields saved.",
      "saveError": "Could not save translation fields.",
      "missingSelection": "Choose a locale first.",
      "bulkEditorNoteTitle": "About Settings → Translations → Edit (bulk)",
      "bulkEditorNoteBody": "Medusa’s built-in bulk translation screen cannot host custom field layouts—those JSON fields stay as text areas there. Use this page for structured inputs; both screens save the same translation records.",
      "quickAccessTitle": "Structured translation editor",
      "quickAccessBody": "Open the stable structured editor for this product without using Medusa's bulk modal.",
      "openEditor": "Open structured editor"
    },
    "recommendedApps": {
      "title": "Recommended Applications",
      "addRow": "+ Add Application",
      "empty": "No applications added yet.",
      "placeholder": "e.g., Biogas production plants",
      "save": "Save Applications",
      "productMissing": "Product data is missing.",
      "saveSuccess": "Recommended applications saved successfully.",
      "saveError": "Failed to save recommended applications.",
      "translationHint": "Applications are saved as pretty-printed JSON text (a string, not a raw array) so Medusa’s Translations → Product can show them under “recommended_applications”. Use the same JSON array shape when translating each locale."
    }
  }
}
