{
  "a11y": {
    "skipToContent": "Skip to main content",
    "partnerLogoLink": "Visit {name} (opens in a new tab)",
    "switchToArabic": "Switch site language to Arabic",
    "switchToEnglish": "Switch site language to English"
  },
  "nav": {
    "home": "Home",
    "properties": "Properties",
    "lands": "Lands",
    "projects": "Projects",
    "blog": "Blog",
    "about": "About",
    "contact": "Contact"
  },
  "share": {
    "heading": "Share",
    "groupLabel": "Share this page",
    "native": "Share",
    "copy": "Copy link",
    "copied": "Copied",
    "whatsapp": "Share on WhatsApp",
    "facebook": "Share on Facebook",
    "twitter": "Share on X",
    "linkedin": "Share on LinkedIn",
    "telegram": "Share on Telegram",
    "reddit": "Share on Reddit",
    "email": "Share by email",
    "campaignLabel": "Link campaign",
    "campaignHint": "UTM values for shared links (set in Admin → Analytics)."
  },
  "cta": {
    "explore": "Explore",
    "viewAll": "View all",
    "details": "Details",
    "whatsapp": "WhatsApp",
    "call": "Call",
    "send": "Send"
  },
  "home": {
    "stats": {
      "eyebrow": "By the numbers",
      "title": "Your real estate marketing partner",
      "subtitle": "A full team combining local market knowledge with professional marketing execution.",
      "v1": "24+",
      "l1": "Projects under marketing",
      "v2": "150+",
      "l2": "Clients & investors",
      "v3": "8+",
      "l3": "Years in the market",
      "v4": "100%",
      "l4": "Transparent presentation"
    },
    "cta": {
      "title": "Start a conversation with HAMEEM",
      "subtitle": "We respond during business hours and help you choose the right opportunity for your project or investment.",
      "whatsapp": "Chat on WhatsApp",
      "browse": "Browse listings"
    },
    "featuredEyebrow": "Hameem's picks",
    "featuredTitle": "Featured picks",
    "featuredSubtitle": "Properties and lands hand-picked by HAMEEM for quality, location, and investment fit.",
    "regionsEyebrow": "Riyadh",
    "regionsTitle": "Explore listings on the map",
    "regionsSubtitle": " properties, lands, and projects in the Riyadh area.",

  },
  "listing": {
    "pageIntroProperties": "Curated listings with an interactive map — explore by location.",
    "pageIntroLands": "Land plots with clear specs — check area and zoning on the map.",
    "pageIntroProjects": "Residential and commercial projects on the market — from advertised pricing.",
    "pageIntroBlog": "Editorial picks from HAMEEM on the market, zoning, and safer buying.",
    "from": "From",
    "sar": "SAR",
    "beds": "beds",
    "baths": "baths",
    "area": "sqm",
    "filters": "Filters",
    "filterReset": "Reset filters",
    "filterAll": "All",
    "filterCity": "City",
    "filterRegion": "Region",
    "filterNeighborhood": "Neighborhood / district",
    "filterDistrict": "District / area",
    "filterFeatures": "Utilities & features",
    "filterProjectPropertyType": "Project product type",
    "filterAvailability": "Project status",
    "projectAvailabilityAvailable": "Available",
    "projectAvailabilityComingSoon": "Coming soon",
    "projectAvailabilityUnderConstruction": "Under construction",
    "projectAvailabilityCompleted": "Completed",
    "projectAvailabilitySoldOut": "Sold out",
    "filterStatus": "Status",
    "filterBedsMin": "Min. bedrooms",
    "filterBathsMin": "Min. bathrooms",
    "filterFeaturedOnly": "Editor's picks only",
    "filterAcType": "Air conditioning",
    "filterFurnishing": "Furnishing",
    "filterYearBuiltRange": "Year built",
    "filterMaidRoomsMin": "Min. maid / driver rooms",
    "filterParkingMin": "Min. parking spaces",
    "filterLivingRoomsMin": "Min. living / majlis",
    "filterStreetWidthRange": "Street width (m)",
    "filterFacadeMin": "Min. street frontages",
    "filterPriceRange": "Price (SAR)",
    "filterAreaRange": "Area (sqm)",
    "filterFromPriceRange": "From price (SAR)",
    "searchLabel": "Search listings",
    "searchPlaceholder": "Search titles, locations, descriptions…",
    "sortLabel": "Sort by",
    "sortNewest": "Newest updated",
    "sortPriceAsc": "Price: low to high",
    "sortPriceDesc": "Price: high to low",
    "sortAreaAsc": "Area: smallest first",
    "sortAreaDesc": "Area: largest first",
    "rangeMin": "Range minimum",
    "rangeMax": "Range maximum",
    "filterShowing": "Showing {n} of {total}",
    "pagePrev": "Previous",
    "pageNext": "Next",
    "pageOf": "Page {page} of {total}",
    "paginationAria": "Listing pages",
    "loading": "Loading…",
    "filterEmpty": "No listings match these filters. Try adjusting or reset.",
    "list": "List",
    "map": "Map",
    "mapLoading": "Loading map…",
    "amenities": "Nearby amenities",
    "minutesDrive": "min drive",
    "minutesWalk": "min walk",
    "statusAvailable": "Available",
    "statusSold": "Sold",
    "statusReserved": "Reserved",
    "backToProperties": "Back to properties",
    "backToLands": "Back to lands",
    "backToProjects": "Back to projects",
    "backToBlog": "Back to blog",
    "specsTitle": "Specifications",
    "utilitiesTitle": "Utilities & services",
    "projectFeaturesTitle": "Project highlights",
    "infrastructureTitle": "On-site infrastructure",
    "descriptionTitle": "About this property",
    "landDescriptionTitle": "About this land",
    "galleryTitle": "Photo gallery",
    "blueprintsTitle": "Floor plans & blueprints",
    "tourVideoTitle": "Tour video",
    "exclusiveOffer": "Exclusive offer",
    "openGallery": "Open full-screen gallery",
    "locationTitle": "Location map",
    "propertyType": "Property type",
    "typeVilla": "Villa",
    "typeApartment": "Apartment / penthouse",
    "typeCompound": "Duplex / compound",
    "typeCommercial": "Commercial",
    "typeOffice": "Office",
    "maidRooms": "Maid / driver rooms",
    "parking": "Parking spaces",
    "livingRooms": "Living / majlis",
    "yearBuilt": "Year built",
    "acTitle": "Air conditioning",
    "acCentral": "Central",
    "acSplit": "Split / concealed",
    "acNone": "None",
    "furnishingTitle": "Furnishing",
    "furnished": "Fully furnished",
    "semiFurnished": "Semi-furnished",
    "unfurnished": "Unfurnished",
    "utilElectricity": "Electricity",
    "utilWater": "Water",
    "utilGas": "Gas",
    "utilSewage": "Sewage",
    "utilFiber": "Internet (fiber)",
    "utilYes": "Connected / ready",
    "utilNo": "Not available",
    "landStreetWidth": "Street width",
    "landFacades": "Street frontages",
    "landDimensions": "Approx. dimensions",
    "landZoning": "Zoning",
    "pricePerSqm": "Price per sqm",
    "totalPrice": "Total price",
    "projectOverviewTitle": "Project information",
    "projectAvailabilityLabel": "Project status",
    "projectLocationLine": "Location",
    "projectPriceFromLabel": "Price from",
    "projectRoomsRange": "Bedrooms (range)",
    "projectAreaRange": "Area (range)",
    "projectLongDescriptionTitle": "About the project",
    "projectUnitsTitle": "Units inventory",
    "projectUnitsFilterFloor": "Floor / level",
    "projectUnitsAreaMin": "Min. area (m²)",
    "projectUnitsAreaMax": "Max. area (m²)",
    "projectUnitsRoomsMax": "Max. bedrooms",
    "projectUnitsPriceMin": "Min. price (SAR)",
    "projectUnitsPriceMax": "Max. price (SAR)",
    "projectUnitsColRef": "Unit",
    "projectUnitsColStatus": "Status",
    "projectUnitsColPrice": "Price",
    "projectUnitsColFloor": "Floor",
    "projectUnitsColBedrooms": "Bedrooms",
    "projectUnitsEmpty": "No units match these filters.",
    "projectUnitsNoData": "A detailed unit list is not shown online yet. Contact us for current availability, floors, and pricing.",
    "projectUnitPriceHidden": "On request",
    "projectNavAria": "Jump to section",
    "projectNavGallery": "Gallery",
    "projectNavSpecs": "Specifications",
    "projectNavUnits": "Units",
    "projectNavMap": "Map",
    "projectCallUs": "Call HAMEEM",
    "projectCallCta": "Call now",
    "projectCallShort": "Call",
    "projectWhatsappCta": "WhatsApp",
    "projectEmailInquiry": "Email inquiry",
    "projectBrochureCta": "Download brochure",
    "projectBrochureShort": "Brochure",
    "projectUnitsStatsTotal": "{n} units",
    "projectUnitsStatsAvailable": "{n} available",
    "projectUnitsStatsReserved": "{n} reserved",
    "projectUnitsStatsSold": "{n} sold",
    "projectUnitsFilterHint": "Filters apply instantly — combine status, floor, area, rooms, and price to narrow the list.",
    "projectAvailability": {
      "available": "Available",
      "coming_soon": "Coming soon",
      "under_construction": "Under construction",
      "completed": "Delivered",
      "sold_out": "Sold out"
    }
  },
  "footer": {
    "rights": "All rights reserved",
    "tagline": "Real estate marketing agency in dammam",
    "explore": "Explore",
    "company": "Company",
    "contactTitle": "Direct contact",
    "phone": "Phone",
    "email": "Email"
  },
  "contact": {
    "title": "Contact us",
    "name": "Name",
    "phone": "Phone",
    "message": "Message",
    "eyebrow": "Client care",
    "subtitle": "Send your inquiry and the HAMEEM team will get back to you shortly.",
    "sent": "Thanks — we received your message and will reply soon.",
    "sendError": "Could not send. Check your connection or try again later.",
    "quickTitle": "Direct line",
    "officeHours": "Sun — Thu · 9:00 — 17:00",
    "responseHint": "We usually reply within one business day."
  },
  "blog": {
    "placeholderBody": "Placeholder body copy for preview — full CMS-driven content comes next."
  },
  "about": {
    "title": "HAMEEM Real Estate Marketing",
    "body": "We connect buyers and investors with standout opportunities across the Kingdom—professional, transparent service."
  },
  "admin": {
    "brand": "HAMEEM Admin",
    "layout": {
      "viewSite": "View site",
      "logout": "Log out",
      "localeAr": "العربية",
      "localeEn": "English",
      "localeAria": "Admin interface language",
      "skylightCredit": "Developed by the SkyLight team",
      "skylightCreditAria": "SkyLight — open skylightad.com in a new tab"
    },
    "nav": {
      "dashboard": "Dashboard",
      "properties": "Properties",
      "lands": "Lands",
      "projects": "Projects",
      "leads": "Leads",
      "homepage": "Homepage",
      "partners": "Partners",
      "listingFeatures": "Listing features",
      "blog": "Blog",
      "settings": "Settings",
      "seo": "SEO",
      "tracking": "Analytics & pixels",
      "translations": "UI copy",
      "users": "Users",
      "zoho": "Zoho CRM",
      "skylight": "SkyLight Chat",
      "cloudinary": "Cloudinary"
    },
    "common": {
      "save": "Save",
      "cancel": "Cancel",
      "delete": "Delete",
      "edit": "Edit",
      "actions": "Actions",
      "add": "Add",
      "yes": "Yes",
      "no": "No",
      "loading": "Loading…",
      "signIn": "Sign in",
      "you": "You",
      "when": "When",
      "name": "Name",
      "phone": "Phone",
      "email": "Email",
      "password": "Password",
      "role": "Role",
      "active": "Active",
      "sort": "Sort",
      "key": "Key",
      "value": "Value",
      "title": "Title",
      "slug": "Slug",
      "city": "City",
      "price": "Price",
      "status": "Status",
      "date": "Date",
      "kind": "Kind",
      "listing": "Listing",
      "order": "Order",
      "remove": "Remove",
      "up": "Up",
      "down": "Down",
      "failedLoad": "Failed to load",
      "saveFailed": "Save failed",
      "deleteFailed": "Delete failed"
    },
    "pagination": {
      "prev": "Previous",
      "next": "Next",
      "pageOf": "Page {page} of {total}",
      "showingTotal": "{total} total"
    },
    "accessDenied": {
      "title": "Access denied",
      "body": "Your role does not include {permission}.",
      "back": "Back to dashboard"
    },
    "dashboard": {
      "title": "Dashboard",
      "signedIn": "Signed in as {email}",
      "roleLabel": "role",
      "statsLeads": "Leads",
      "statsProperties": "Properties",
      "statsUsers": "Admin users",
      "openLeads": "Open leads",
      "manageListings": "Manage listings",
      "manageUsers": "Manage users",
      "sectionsTitle": "All sections",
      "noSections": "Your role has no admin sections. Ask an administrator to update your permissions.",
      "apiUnreachable": "Could not reach the API. Start it from the api folder, set NUXT_PUBLIC_API_BASE, and match host with CORS.",
      "statsPartial": "Some stats failed to load:",
      "users404": "User API returned 404. From the api folder run npm run build and restart the server."
    },
    "login": {
      "invalidCreds": "Invalid email or password.",
      "requestFailed": "Request failed ({code}). Check the API logs.",
      "unreachable": "Cannot reach the API ({url}). Start it from the api folder (e.g. npm run dev on port 4000)."
    },
    "properties": {
      "title": "Properties",
      "subtitle": "Create, edit, and remove property listings.",
      "new": "New property",
      "newTitle": "New property",
      "editTitle": "Edit property",
      "empty": "No properties yet."
    },
    "lands": {
      "title": "Lands",
      "subtitle": "Land listings for the catalog and map.",
      "new": "New land",
      "newTitle": "New land listing",
      "editTitle": "Edit land",
      "empty": "No land listings."
    },
    "projects": {
      "title": "Projects",
      "subtitle": "Development projects shown in the catalog.",
      "new": "New project",
      "newTitle": "New project",
      "editTitle": "Edit project",
      "fromPrice": "From price",
      "empty": "No projects."
    },
    "leads": {
      "title": "Leads",
      "subtitle": "Inquiries from the site. Update status as you work each lead.",
      "empty": "No leads yet.",
      "zohoSync": "Zoho",
      "pushZoho": "Push to Zoho",
      "openZoho": "Open in Zoho",
      "skylightSync": "SkyLight",
      "openSkylightChat": "WhatsApp Chat"
    },
    "zoho": {
      "title": "Zoho CRM",
      "subtitle": "OAuth connection, lead sync to Zoho, optional listing → Products sync, status mapping, webhooks, and sync log.",
      "sectionConnection": "Connection & OAuth",
      "enabled": "Enable Zoho integration",
      "apiDomain": "Data center (API domain)",
      "accountsDomain": "Accounts host",
      "clientId": "Client ID",
      "clientSecret": "Client secret (leave blank to keep current)",
      "redirectUri": "Redirect URI (must match Zoho API Console)",
      "authUrl": "Authorization URL (open in browser, sign in, paste code below)",
      "authCode": "Authorization code",
      "exchangeToken": "Exchange code for tokens",
      "tokenHint": "After exchange, refresh token is stored for server-side sync.",
      "hasRefreshToken": "Refresh token saved.",
      "testConnection": "Test API connection",
      "sectionLeadSync": "Lead sync",
      "leadSyncEnabled": "Push new site leads to Zoho",
      "listingSyncEnabled": "Sync published listings to Zoho Products",
      "defaultLeadOwner": "Default lead owner (Zoho user email)",
      "defaultLeadOwnerHint": "Optional — Zoho user email to assign as Owner",
      "defaultLeadSource": "Lead source value in Zoho",
      "sectionStatusMapping": "Status mapping",
      "statusMappingHelp": "Map each local lead status to a Zoho Lead_Status picklist value (must exist in your CRM).",
      "saveStatusMapping": "Save status mapping",
      "sectionFieldMapping": "Custom field API names",
      "fieldMappingHelp": "Optional. If empty, listing ref and UTMs are appended to the Description. Use your CRM field API names (e.g. Interested_Listing).",
      "fieldInterestedListing": "Interested listing (text)",
      "fieldUtmSource": "UTM source",
      "fieldUtmMedium": "UTM medium",
      "fieldUtmCampaign": "UTM campaign",
      "fieldExternalId": "HAMIM lead ID (for webhooks)",
      "saveFieldMapping": "Save field mapping",
      "sectionWebhook": "Inbound webhook",
      "webhookHelp": "Point a Zoho Workflow or function at this URL. Send JSON with Lead_Status and either hamimLeadId or a Zoho lead id that matches a synced lead.",
      "webhookHeader": "Include header",
      "webhookSecret": "Webhook shared secret",
      "sectionBulk": "Bulk actions",
      "pushAllLeads": "Push pending/failed leads",
      "pullStatuses": "Pull statuses from Zoho",
      "sectionSyncLog": "Sync log",
      "logEntity": "Entity",
      "logAction": "Action",
      "logDirection": "Direction",
      "showDetails": "Details",
      "hideDetails": "Hide"
    },
    "cloudinary": {
      "title": "Cloudinary",
      "subtitle": "Cloud name, API key, and secret for signed uploads from the admin (images, galleries, PDFs). Values are stored in the database; server environment variables are used only if the database triple is incomplete.",
      "statusLabel": "Active configuration",
      "sourceDatabase": "Credentials loaded from the database.",
      "sourceEnvironment": "Credentials loaded from server environment variables.",
      "sourceNone": "Not configured.",
      "uploadsDisabled": "Media uploads will fail until cloud name, API key, and API secret are set (database or environment).",
      "cloudName": "Cloud name",
      "apiKey": "API key",
      "apiSecret": "API secret",
      "secretPlaceholder": "Leave blank to keep the current secret",
      "secretHelp": "Leave blank when saving to keep the existing secret.",
      "currentMasked": "Stored secret preview: {mask}",
      "defaultFolder": "Default upload folder",
      "defaultFolderHelp": "Used when a form does not pass a folder (default hameem). Per-field uploads can still override this."
    },
    "blog": {
      "title": "Blog",
      "subtitle": "Posts shown on the marketing site.",
      "newPost": "New post",
      "newTitle": "New blog post",
      "editTitle": "Edit blog post",
      "empty": "No posts yet."
    },
    "listingFeatures": {
      "title": "Listing features",
      "subtitle": "Bilingual labels and icons for property utilities, land infrastructure, and project highlights. Checkbox options on listing forms follow these rows.",
      "addTitle": "Add feature",
      "editModal": "Edit feature",
      "confirmDelete": "Delete this feature? Existing listings keep stored values for this key until you clear them manually.",
      "scope": "Used on",
      "featureKeyHint": "e.g. fiberInternet"
    },
    "partners": {
      "title": "Partners",
      "subtitle": "Logos and links for the partners strip.",
      "addTitle": "Add partner",
      "nameAr": "Name (AR)",
      "nameEn": "Name (EN)",
      "url": "URL",
      "logoUrl": "Logo (optional)",
      "editModal": "Edit partner",
      "logoUrlLabel": "Logo",
      "sortOrder": "Sort order",
      "confirmDelete": "Remove this partner?"
    },
    "users": {
      "title": "Admin users",
      "subtitle": "Roles and access for the admin API.",
      "inviteTitle": "Invite user",
      "create": "Create",
      "confirmDelete": "Delete this user?",
      "users404": "User API returned 404. From the api folder run npm run build and restart the server."
    },
    "settings": {
      "title": "Site settings",
      "subtitle": "Use the cards to open SEO, analytics, homepage, partners, and more. Raw key–value entries for the live site are below.",
      "hubHeading": "Configuration",
      "hubSubtitle": "Everything that shapes the public experience — pick a section to continue.",
      "hubNothingForRole": "Your role does not include access to these sections.",
      "open": "Open",
      "hubSeoBlurb": "Sitemap, robots.txt, and static page titles & descriptions.",
      "hubTrackingBlurb": "GTM, GA4, ad pixels, and share-link UTM campaigns.",
      "hubTranslationsBlurb": "Edit interface strings in English and Arabic.",
      "hubHomepageBlurb": "Hero slides, featured listings, and homepage copy.",
      "hubPartnersBlurb": "Partner logos and outbound links.",
      "hubListingFeaturesBlurb": "Tags and filters used on property, land, and project listings.",
      "hubBlogBlurb": "Blog posts and editorial content.",
      "hubZohoBlurb": "Connect Zoho CRM: sync leads, listing products, and inbound webhooks.",
      "hubSkylightBlurb": "Connect SkyLight Chat: AI-powered WhatsApp agent, web chat widget, knowledge base sync, and campaigns.",
      "hubCloudinaryBlurb": "Media delivery: cloud name, API credentials, and default upload folder for the admin.",
      "keysSectionTitle": "Site key–value store",
      "keysSectionSubtitle": "Technical settings (homepage limits, contact phone, etc.). Keys match what the API reads.",
      "empty": "No settings in database yet."
    },
    "seo": {
      "title": "SEO — sitemap, robots & page meta",
      "subtitle": "The sitemap is built live from published properties, lands, projects, and blog posts. robots.txt and per-page SEO (titles, descriptions, social images) are managed below. Listing SEO is edited on each property, land, project, or blog post.",
      "robotsHeading": "robots.txt",
      "robotsHelp": "Stored as site setting seo.robotsTxt. If empty, the site uses a simple allow-all template. A Sitemap: line is appended automatically when missing.",
      "saveRobots": "Save robots.txt",
      "sitemapHeading": "Sitemap",
      "sitemapHelp": "Public URL: {url}. Includes Arabic and English URLs (hreflang) for each path.",
      "canonicalSite": "Canonical base URL: {site}",
      "openSitemap": "Open sitemap.xml",
      "refreshPreview": "Refresh URL list",
      "urlCount": "{n} URLs in the sitemap (both locales share one row per path).",
      "lastmod": "Last modified",
      "previewNeedsApi": "Set NUXT_PUBLIC_API_BASE to preview URLs from the API.",
      "previewFailed": "Could not load sitemap data from the API.",
      "pagesHeading": "Static pages — SEO overrides",
      "pagesHelp": "Overrides page title, meta description, and optional social image for home, about, contact, catalog index pages, and blog index. Leave fields empty to use the default UI translation for the current language.",
      "savePages": "Save page SEO",
      "pageHome": "Homepage",
      "pageAbout": "About",
      "pageContact": "Contact",
      "pageProperties": "Properties catalog",
      "pageLands": "Lands catalog",
      "pageProjects": "Projects catalog",
      "pageBlog": "Blog index"
    },
    "tracking": {
      "title": "Analytics, pixels & share UTMs",
      "subtitle": "GTM, GA4 (gtag), Meta, and TikTok load on the public site after cookie consent. Values saved here override empty environment variables. Create named share campaigns for different ads or seasons; pick a default and optionally switch campaign on the share bar before copying the link.",
      "envHint": "Optional: set NUXT_PUBLIC_GTM_ID, NUXT_PUBLIC_GA4_MEASUREMENT_ID, NUXT_PUBLIC_META_PIXEL_ID, NUXT_PUBLIC_TIKTOK_PIXEL_ID for local or emergency fallback.",
      "reportingHint": "Session and conversion counts by campaign appear in Google Analytics 4 (Acquisition → Traffic acquisition) and in GTM-connected tools — not inside this admin panel. Use GA4 explorations or Looker Studio for UTM breakdowns.",
      "field": "Field",
      "fallbackUtmHeading": "Fallback UTMs (manual)",
      "fallbackUtmHelp": "Used when no campaign is selected, or to fill any UTM field left empty in a campaign row. Listing share links still add utm_content (e.g. property/slug) when missing.",
      "campaignsHeading": "Share campaigns",
      "campaignsHelp": "Each row is a preset. Non-empty fields in the row override the manual fallbacks above. Campaign id: letters, numbers, hyphen, underscore only.",
      "defaultCampaign": "Default campaign for new visitors’ share links",
      "defaultCampaignNone": "None — use manual fallbacks only",
      "addCampaign": "Add campaign",
      "campaignId": "Id",
      "campaignLabelField": "Label (admin only)",
      "removeCampaign": "Remove",
      "pixelsHeading": "Pixels & tag IDs",
      "gtmId": "Google Tag Manager ID",
      "ga4Id": "GA4 measurement ID (G-…)",
      "metaPixelId": "Meta (Facebook) pixel ID",
      "tiktokPixelId": "TikTok pixel ID",
      "utmSource": "utm_source",
      "utmMedium": "utm_medium",
      "utmCampaign": "utm_campaign",
      "utmTerm": "utm_term",
      "utmContent": "utm_content"
    },
    "translations": {
      "title": "UI translations",
      "subtitle": "Edit string keys in en.json and ar.json. Restart dev server or redeploy so lazy-loaded messages pick up changes.",
      "searchPlaceholder": "Filter by key or text…",
      "columnEn": "English (en)",
      "columnAr": "Arabic (ar)",
      "saveRow": "Save row",
      "emptyFilter": "No keys match this filter."
    },
    "mediaUpload": {
      "uploadImage": "Upload image",
      "uploadPdf": "Upload PDF",
      "addImages": "Add images",
      "uploading": "Uploading…",
      "remove": "Remove",
      "failed": "Upload failed",
      "noPermission": "Your role cannot request upload signatures.",
      "pasteUrl": "Or paste image URL",
      "pasteUrlHint": "Use this for external images or existing Cloudinary URLs.",
      "pasteBrochureUrl": "Or paste brochure URL",
      "pasteBrochureUrlHint": "Use a direct HTTPS link to a PDF (e.g. existing Cloudinary raw URL).",
      "urlPlaceholder": "https://…",
      "pasteUrls": "Or paste URLs (one per line)",
      "pasteUrlsHint": "Merges with uploaded images when you leave the field.",
      "urlsPlaceholder": "https://…",
      "galleryEmpty": "No gallery images yet.",
      "moveEarlier": "Earlier",
      "moveLater": "Later"
    },
    "homepage": {
      "title": "Homepage",
      "subtitle": "Hero carousel uses projects; featured strip uses properties and lands only. Reorder saves immediately.",
      "slideProjectCol": "Project",
      "slidesTitle": "Hero slides",
      "slidesHelp": "Choose a project below to add a slide, or remove slides with the trash icon. Reorder with the arrows.",
      "slidesEmpty": "No hero slides yet. Add a project above.",
      "pickProjectHero": "Project for hero",
      "addSlide": "Add slide",
      "confirmRemoveSlide": "Remove this slide from the hero?",
      "featuredTitle": "Featured picks",
      "featuredHelp": "Only properties and lands appear in the featured strip. Use hero slides for projects.",
      "addFeatured": "Add to featured",
      "listingLabel": "Listing",
      "property": "Property",
      "land": "Land",
      "project": "Project",
      "featuredEmpty": "No featured picks.",
      "confirmRemoveFeatured": "Remove from featured?",
      "statsBlockTitle": "By the numbers (About page)",
      "statsBlockHelp": "Heading and subtitle appear above the stat cards. Add any number of rows; the public site uses translation files as fallback when this list is empty.",
      "statsSectionAr": "Arabic copy",
      "statsSectionEn": "English copy",
      "statsEyebrow": "Eyebrow / label",
      "statsSubtitle": "Subtitle",
      "statsSaveSection": "Save heading & subtitle",
      "statsValueAr": "Value (AR)",
      "statsValueEn": "Value (EN)",
      "statsLabelAr": "Label (AR)",
      "statsLabelEn": "Label (EN)",
      "statsAdd": "Add stat",
      "statsEmpty": "No custom stats — the site shows default copy from UI translations.",
      "confirmRemoveStat": "Remove this stat?"
    },
    "fields": {
      "type": "Type",
      "status": "Status",
      "slug": "Slug",
      "title": "Title",
      "zoning": "Zoning / classification",
      "dimensions": "Dimensions",
      "description": "Description",
      "neighborhood": "Neighborhood",
      "summary": "Summary",
      "excerpt": "Excerpt",
      "content": "Content",
      "publishedAtSystem": "Published at",
      "editOtherLanguageHint": "Use the header language switcher to edit the other language.",
      "cityManual": "City",
      "titleAr": "Title (AR)",
      "titleEn": "Title (EN)",
      "priceSar": "Price (SAR)",
      "areaSqm": "Area (m²)",
      "bedrooms": "Bedrooms",
      "bathrooms": "Bathrooms",
      "cityAr": "City (AR)",
      "cityEn": "City (EN)",
      "regionPick": "Region",
      "cityPick": "City / governorate",
      "selectRegionFirst": "Select a region first",
      "backToCityList": "Choose from Saudi list",
      "locationsLoadError": "Could not load regions/cities. Use manual fields below.",
      "neighborhoodAr": "Neighborhood (AR)",
      "neighborhoodEn": "Neighborhood (EN)",
      "latitude": "Latitude",
      "longitude": "Longitude",
      "mapLocation": "Location on map",
      "mapLocationHint": "Click the map to place the pin (drag the pin to adjust). Drag the map to pan and scroll to zoom. The map is fixed to left-to-right so clicks land on the right spot.",
      "coverImage": "Cover image",
      "galleryUrls": "Photo gallery",
      "blueprintUrls": "Blueprints / floor plans",
      "tourVideoUrl": "YouTube tour video URL",
      "tourVideoUrlHint": "Paste a YouTube link (watch, Shorts, embed, or youtu.be). Leave empty to hide the video on the public page.",
      "brochureUrl": "Project brochure (PDF)",
      "brochureUrlHint": "Upload a PDF to Cloudinary or paste a brochure URL. Shown as “Download brochure” on the public project page when set.",
      "priceHidden": "Hide price on public site",
      "priceHiddenHint": "Visitors see “Exclusive offer” (عرض حصري) instead of amounts.",
      "featured": "Featured on site",
      "publishedAt": "Published at (optional)",
      "publishedAtRequired": "Published at",
      "acType": "AC type",
      "acPlaceholder": "central | split | none",
      "furnishing": "Furnishing",
      "furnishPlaceholder": "unfurnished | semi | furnished",
      "listingFeaturesPick": "Utilities & services",
      "listingFeaturesLoading": "Loading feature list…",
      "listingFeaturesNoneForKind": "No features are enabled for this listing type. Add some under Listing features in the admin menu.",
      "listingFeaturesManageHint": "Manage the catalog (names, icons, which listing types) under Admin → Listing features.",
      "featureKey": "Feature key (code)",
      "iconKey": "Icon",
      "iconPickerHint": "Open the grid to choose from the Lucide set",
      "iconSearchPlaceholder": "Filter icons by name…",
      "iconSearchCount": "{n} icons",
      "forProperty": "Properties",
      "forLand": "Lands",
      "forProject": "Projects",
      "utilitiesJson": "Utilities (JSON object, optional)",
      "utilitiesPlaceholder": "electricity: true, water: true",
      "descriptionAr": "Description (AR)",
      "descriptionEn": "Description (EN)",
      "zoningAr": "Zoning (AR)",
      "zoningEn": "Zoning (EN)",
      "imageUrl": "Image",
      "streetWidthM": "Street width (m)",
      "facadeCount": "Facade count",
      "dimensionsAr": "Dimensions (AR)",
      "dimensionsEn": "Dimensions (EN)",
      "infrastructureJson": "Infrastructure (JSON)",
      "summaryAr": "Summary (AR)",
      "summaryEn": "Summary (EN)",
      "fromPriceSar": "From price (SAR)",
      "excerptAr": "Excerpt (AR)",
      "excerptEn": "Excerpt (EN)",
      "contentAr": "Content (AR)",
      "contentEn": "Content (EN)",
      "cover": "Cover image",
      "seoSection": "Search & sharing (SEO)",
      "seoSectionHint": "Optional. If empty, the public page uses the listing title, description or summary, and main image. Recommended description length: under ~160 characters.",
      "seoTitleAr": "Meta title (Arabic)",
      "seoTitleEn": "Meta title (English)",
      "seoDescriptionAr": "Meta description (Arabic)",
      "seoDescriptionEn": "Meta description (English)",
      "seoOgImageUrl": "Social preview image (Open Graph)",
      "district": "District / sub-area",
      "projectPropertyType": "Market property type",
      "projectAvailabilityStatus": "Project marketing status",
      "projectRoomsMin": "Bedrooms (min, project range)",
      "projectRoomsMax": "Bedrooms (max, project range)",
      "projectAreaMinSqm": "Area min (m², marketing range)",
      "projectAreaMaxSqm": "Area max (m², marketing range)",
      "projectUnits": "Units / apartments table",
      "projectUnitsHint": "Each row is one sellable unit. Use bilingual floor labels (e.g. أرضي / Ground). Reorder with Up/Down.",
      "projectUnitsEmpty": "No units yet — add rows for an inventory table on the public page.",
      "unitRef": "Unit reference",
      "unitStatus": "Unit status",
      "unitPriceOptional": "Optional — leave empty if not shown",
      "floorAr": "Floor (Arabic)",
      "floorEn": "Floor (English)",
      "floorArPlaceholder": "مثال: أرضي، أول، ملحق",
      "floorEnPlaceholder": "e.g. Ground, First, Rooftop",
      "amenityProximitySection": "Nearby places (drive/walk times)",
      "amenityProximityHint": "Shown as “X min drive” on the project page — universities, roads, malls, etc.",
      "amenityLabelAr": "Place name (AR)",
      "amenityLabelEn": "Place name (EN)",
      "amenityCategory": "Category (internal)",
      "amenityMinutes": "Minutes",
      "amenityMode": "Travel mode",
      "amenitiesEmpty": "No proximity rows yet."
    },
    "propertyForm": {
      "saveChanges": "Save changes",
      "create": "Create property",
      "deleteConfirm": "Delete this property permanently?"
    },
    "landForm": {
      "create": "Create land",
      "save": "Save",
      "deleteConfirm": "Delete this land listing?"
    },
    "projectForm": {
      "create": "Create project",
      "save": "Save",
      "deleteConfirm": "Delete this project?"
    },
    "blogForm": {
      "publish": "Publish post",
      "save": "Save",
      "deleteConfirm": "Delete this post?"
    },
    "richText": {
      "toolbarLabel": "Text formatting",
      "bold": "Bold",
      "italic": "Italic",
      "underline": "Underline",
      "heading2": "Heading 2",
      "heading3": "Heading 3",
      "paragraph": "Paragraph",
      "bulletList": "Bullet list",
      "orderedList": "Numbered list",
      "blockquote": "Quote",
      "link": "Link or remove link",
      "undo": "Undo",
      "redo": "Redo",
      "linkPrompt": "Link URL (leave empty to remove)",
      "contentPlaceholder": "Write the article body. Use the toolbar for headings, lists, and links."
    },
    "errors": {
      "utilitiesJson": "Utilities must be valid JSON",
      "infrastructureJson": "Infrastructure must be valid JSON"
    },
    "skylight": {
      "title": "SkyLight Chat",
      "subtitle": "AI-powered WhatsApp and web chat. Sync your leads, knowledge base, and run text campaigns.",
      "openDashboard": "SkyLight Dashboard",
      "loading": "Loading...",
      "save": "Save settings",
      "testConnection": "Test connection",
      "testSuccess": "Connection successful",
      "testFailedUnknown": "SkyLight did not accept the request. Check your main API key (not the web chat key) and save settings first.",
      "proxyError": "SkyLight request failed. Check your API key, network, and SkyLight domain allowlist (set SKYLIGHT_API_ORIGIN on the server if needed).",
      "sectionGeneral": "General settings",
      "sectionWebChat": "Web chat widget",
      "sectionWebhook": "Webhook",
      "enableIntegration": "Enable SkyLight integration",
      "leadSyncEnabled": "Auto-sync new leads as SkyLight contacts",
      "apiKey": "API Key",
      "configured": "configured",
      "leaveBlankToKeep": "Leave blank to keep existing",
      "apiKeyPlaceholder": "sk_live_...",
      "webhookSecret": "Webhook secret",
      "webhookSecretHint": "Set a secret here and in SkyLight to verify inbound webhooks.",
      "webChatEnabled": "Enable web chat widget on site",
      "webChatApiKey": "Web Chat API Key",
      "webChatApiKeyPlaceholder": "wc_...",
      "webChatApiKeyHint": "Find this in SkyLight › Web Chat settings. Different from your main API key.",
      "webChatColor": "Widget color",
      "webChatPosition": "Position",
      "right": "Right",
      "left": "Left",
      "webhookUrlLabel": "Your webhook URL (register this in SkyLight)",
      "webhookActive": "Webhook registered",
      "registerWebhook": "Register webhook",
      "webhookRegistered": "Webhook registered successfully",
      "kbIds": "Synced Knowledge Base IDs",
      "kbProperties": "Properties KB",
      "kbLands": "Lands KB",
      "kbProjects": "Projects KB",
      "kbSiteInfo": "Site Info KB",
      "nav": {
        "settings": "Settings",
        "conversations": "Conversations",
        "knowledgeBase": "Knowledge Base",
        "campaigns": "Campaigns",
        "analytics": "Analytics"
      },
      "conversations": {
        "title": "Conversations",
        "allChannelsHint": "Shows every channel connected in SkyLight (WhatsApp, web chat, Instagram, Telegram, etc.).",
        "empty": "No conversations found. Make sure SkyLight is configured and connected.",
        "back": "Back",
        "contact": "Contact",
        "noMessages": "No messages in this conversation.",
        "messagePlaceholder": "Type a WhatsApp message...",
        "send": "Send"
      },
      "kb": {
        "title": "Knowledge Base",
        "syncTitle": "Sync HAMIM data to SkyLight AI",
        "syncDescription": "Push your published properties, lands, and projects as product catalog entries. The SkyLight AI agent will use this data to answer visitor questions on WhatsApp and web chat.",
        "siteInfoLabel": "Company info (optional)",
        "siteInfoPlaceholder": "Enter company overview, FAQs, contact info, office locations, payment policies...",
        "siteInfoHint": "This will be stored as a text knowledge base entry for the AI to use.",
        "websiteUrlLabel": "Crawl website (optional)",
        "websiteUrlPlaceholder": "https://your-hamim-site.com",
        "websiteUrlHint": "SkyLight will crawl this URL and add the content to the knowledge base automatically.",
        "syncButton": "Sync Now",
        "syncSuccess": "Sync completed",
        "syncPartial": "Sync finished with issues",
        "syncListingsNothing": "No published properties, lands, or projects were found to sync.",
        "syncReportHint": "Each listing type is synced individually. If nothing changed since the last sync, that catalog is left untouched.",
        "syncItemsCount": "{n} listings pushed",
        "mergedIntoProperties": "Merged into the properties product catalog (SkyLight plan limits extra catalogs).",
        "syncSiteInfoOk": "Company / text info updated in SkyLight.",
        "syncSiteInfoFail": "Company info sync failed: {msg}",
        "syncCrawlOk": "Website crawl was requested in SkyLight.",
        "syncCrawlFail": "Website crawl failed: {msg}",
        "includeAboutSeo": "Include About page from Admin › SEO",
        "includeAboutSeoHint": "Uses the About title and meta descriptions you saved under SEO settings. The public About paragraph on the site comes from translations — paste it in the box below if you want that exact text in SkyLight.",
        "syncType": {
          "property": "Properties",
          "land": "Lands",
          "project": "Projects",
          "all": "All listings"
        },
        "empty": "No knowledge base entries yet. Click Sync Now to add your listing data.",
        "syncAllUpToDate": "Everything is up to date",
        "syncRowUpToDate": "Up to date — no changes since last sync"
      },
      "campaigns": {
        "title": "Campaigns",
        "create": "New campaign",
        "cancel": "Cancel",
        "newTitle": "Create text campaign",
        "name": "Campaign name",
        "namePlaceholder": "e.g. May property offers",
        "messages": "Messages (text only)",
        "messagePlaceholder": "Write your WhatsApp message...",
        "addMessage": "Add message",
        "isNewNumber": "Sending to contacts who haven't messaged you first (requires WhatsApp approval)",
        "contactsHint": "Leave contact IDs empty to target all synced leads in SkyLight, or specify them in the SkyLight dashboard.",
        "save": "Create campaign",
        "start": "Start",
        "empty": "No campaigns yet.",
        "textOnlyNotice": "Only text messages are supported from HAMIM. For image or media campaigns, use the "
      },
      "analytics": {
        "title": "Web Chat Analytics",
        "periodToday": "Today",
        "periodWeek": "Last 7 days",
        "periodMonth": "Last 30 days",
        "periodYear": "Last year",
        "primaryKpis": "Primary metrics",
        "secondarySection": "Activity breakdown",
        "totalSessions": "Total sessions",
        "engagedSessions": "Engaged",
        "uniqueVisitors": "Unique visitors",
        "totalMessages": "Messages",
        "activeChats": "Active chats",
        "completedChats": "Completed chats",
        "visitorMessages": "Visitor messages",
        "botMessages": "Bot messages",
        "avgMessagesPerChat": "Avg messages / chat",
        "sessionsChartTitle": "New sessions over time",
        "noChartData": "No timeline data for this period.",
        "noData": "No analytics data available."
      }
    }
  }
}
