{
  "navigation": {
    "home": "Home",
    "contacts": "Contacts",
    "leads": "Leads",
    "organizations": "Organizations",
    "reports": "Reports",
    "settings": "Settings"
  },
  "branding": {
    "title": "brainX CRM"
  },
  "common": {
    "cancel": "Cancel",
    "confirm": "Confirm"
  },
  "actions": {
    "retry": "Retry",
    "open": "Open",
    "back": "Back",
    "edit": "Edit",
    "save": "Save"
  },
  "recordCreate": {
    "success": "Record created successfully.",
    "queued": "Saved offline. We will sync this record once you are online.",
    "validationErrorTitle": "Missing information",
    "validationErrorDescription": "Please fill all required fields.",
    "error": "Unable to create record. Please try again.",
    "requiredField": "Please fill this field",
    "metadataMissing": "Module metadata is not available yet. Please try again."
  },
  "recordEdit": {
    "savedLocally": "Changes saved locally. They will sync automatically.",
    "nothingToSave": "Nothing to save right now.",
    "requiredField": "Please fill this field",
    "validationErrorTitle": "Missing information",
    "validationErrorDescription": "Please fill all required fields before saving.",
    "leaveTitle": "Unsaved changes",
    "leaveDescription": "You have unsaved edits. Do you want to discard them?",
    "stayButton": "Keep editing",
    "discardButton": "Discard changes"
  },
  "conflicts": {
    "title": "Resolve sync conflicts",
    "subtitle": "Your offline change conflicts with a newer CRM value.",
    "instructions": "Choose which version to keep so syncing can resume.",
    "serverValueTitle": "CRM value",
    "localValueTitle": "Your change",
    "noValue": "No value provided",
    "serverValueUnavailable": "We could not load the latest CRM value yet.",
    "serverTimestamp": "Last updated on {timestamp}",
    "serverTimestampUnknown": "Server timestamp unavailable.",
    "localTimestamp": "Saved locally on {timestamp}",
    "localTimestampUnknown": "Saved locally.",
    "keepServer": "Keep CRM value",
    "keepLocal": "Keep my change",
    "reviewLater": "Review later",
    "previous": "Previous",
    "next": "Next",
    "counter": "Conflict {index} of {total}",
    "emptyCounter": "No conflicts pending.",
    "empty": "All conflicts resolved. Great job!",
    "detectedAt": "Detected on {timestamp}",
    "detectedUnknown": "Detected during the last sync attempt.",
    "unknownModule": "Module",
    "unknownField": "Unknown field",
    "simulatedSuccess": "Simulated conflict added. Open the resolver to review it.",
    "simulatedError": "Unable to create a simulated conflict. Make sure you have synced data locally."
  },
  "quickActions": {
    "call": "Call",
    "email": "Email",
    "website": "Website",
    "edit": "Edit",
    "open": "Open",
    "chooseNumberTitle": "Choose a number",
    "chooseNumberDescription": "Select which number you want to call.",
    "noNumbers": "No numbers available for this record.",
    "chooseEmailTitle": "Choose an email",
    "noEmails": "No email addresses available for this record."
  },
  "commentsSheet": {
    "title": "{count} Comments",
    "refresh": "Refresh comments",
    "loading": "Loading comments…",
    "emptyTitle": "No comments yet",
    "emptyDescription": "Be the first to leave a note for this record.",
    "reply": "Reply",
    "like": "Like",
    "replyPlaceholder": "Replies will arrive in the next release.",
    "replyPlaceholderInput": "Reply to {name}",
    "replyFallback": "this comment",
    "replyingTo": "Replying to {name}",
    "cancelReply": "Cancel reply",
    "likesPlaceholder": "Likes will sync soon.",
    "addPlaceholder": "Add a comment…",
    "comingSoon": "Comments composer coming soon.",
    "pendingStatus": "Syncing when you are back online.",
    "failedStatus": "Not sent. Please try again.",
    "sent": "Comment posted.",
    "queuedToast": "Saved offline. We will sync it once you are online.",
    "submitError": "Unable to post comment. Please try again.",
    "submit": "Send comment",
    "error": "Unable to refresh comments.",
    "retry": "Retry"
  },
  "activitySheet": {
    "title": "Activity overview",
    "lastLabel": "Last activity: {date}",
    "refresh": "Refresh activities",
    "loading": "Loading activity…",
    "retry": "Retry",
    "emptyTitle": "No activity yet",
    "emptyDescription": "Interactions linked to this record will appear here.",
    "unknownDay": "Other activity"
  },
  "activity": {
    "modules": {
      "calls": "Calls",
      "tasks": "Tasks",
      "visitReports": "Visit reports",
      "emails": "Emails"
    },
    "calls": {
      "defaultTitle": "Phone call"
    },
    "tasks": {
      "defaultTitle": "Task"
    },
    "visitReports": {
      "defaultTitle": "Visit",
      "detailLink": "Open visit report"
    },
    "emails": {
      "defaultTitle": "Email",
      "from": "From {sender}",
      "to": "To {recipient}"
    },
    "fallbackTitle": "Activity",
    "withContact": "with",
    "lastEditedBy": "Last edited by {name}",
    "status": {
      "common": {
        "completed": "Completed",
        "in-progress": "In progress",
        "open": "Open",
        "scheduled": "Scheduled",
        "planned": "Planned",
        "cancelled": "Cancelled",
        "missed": "Missed",
        "sent": "Sent",
        "draft": "Draft",
        "deferred": "Deferred"
      }
    }
  },
  "dashboard": {
    "title": "Dashboard",
    "subtitle": "Stay on top of the latest updates across your modules.",
    "empty": "No records yet",
    "latest": {
      "one": "Latest entry",
      "other": "Latest entries"
    },
    "entryCount": {
      "one": "{count} entry",
      "other": "{count} entries"
    },
    "showAllContacts": "Show all contacts",
    "showAllLeads": "Show all leads",
    "showAllOrganizations": "Show all organizations",
    "showAllReports": "Show all reports"
  },
  "contacts": {
    "listTitle": "Contacts",
    "call": "Call",
    "edit": "Edit",
    "noCompany": "No company",
    "countLabel": "{formatted} contacts",
    "unknown": "Unknown contact",
    "empty": {
      "title": "No contacts yet",
      "description": "Sync with the CRM or add a new contact to see it here.",
      "cta": "Add contact"
    }
  },
  "contactDetail": {
    "empty": {
      "title": "Contact unavailable",
      "description": "We could not find this contact locally. Please try again once sync completes."
    },
    "errorTitle": "Unable to load contact",
    "visitReportsTitle": "Visit Reports",
    "visitReportsCta": "Open reports",
    "visitReportsEmpty": "No visit reports linked yet.",
    "relatedRecordsTitle": "Related records",
    "relatedHeading": "Linked records",
    "relatedRecordsEmpty": "No linked records yet.",
    "visitReportsLabel": "Visit Reports",
    "visitReportsDescription": "Latest linked visit reports",
    "relatedRecord": "Related",
    "tabs": {
      "overview": "Overview",
      "info": "Contact information",
      "system": "System information",
      "additional": "Additional information",
      "fallback": "Details",
      "comments": "Comments",
      "activity": "Activity overview",
      "infoSummary": "All CRM fields for {name} will be available soon.",
      "commentsSummary": "Comment threads sync in the upcoming release.",
      "activitySummary": "The activity timeline will appear here after the next sync milestone."
    },
    "labels": {
      "thisContact": "this contact",
      "company": "Company",
      "email": "Email",
      "phone": "Phone",
      "address": "Address"
    },
    "comingSoon": "The {section} section will be available soon.",
    "infoEmptyTitle": "No fields available yet",
    "infoEmptyDescription": "Fields for this tab are not available in the current metadata snapshot.",
    "addressTitle": "Address",
    "viewOnMap": "View on map",
    "noAddress": "Address not available for this contact.",
    "organizationLink": "Organization"
  },
  "linkedRecords": {
    "heading": "Linked records",
    "countLabel": "{count} linked",
    "empty": {
      "title": "Nothing linked yet",
      "description": "Linked records will appear here after sync."
    },
    "addAction": "Add relation",
    "addRelationSoon": "Adding relations will be available soon.",
    "errorTitle": "Unable to load relations",
    "visitReports": {
      "label": "Visit Reports",
      "description": "Latest linked visit reports",
      "manage": "Show all",
      "emptyTitle": "No visit reports yet",
      "emptyDescription": "Capture on-site visits to list them here.",
      "emptyCta": "Create report"
    },
    "leads": {
      "label": "Leads",
      "description": "Leads linked to this visit report",
      "manage": "View leads",
      "emptyTitle": "No leads linked yet",
      "emptyDescription": "Link a lead to surface it here.",
      "emptyCta": "Add lead"
    }
  },
  "detail": {
    "related": {
      "empty": "No related records yet."
    }
  },
  "leads": {
    "unknown": "Unknown lead",
    "empty": {
      "title": "No leads yet",
      "description": "Create a lead or sync with the CRM to get started.",
      "cta": "Add lead"
    }
  },
  "leadDetail": {
    "empty": {
      "title": "Lead unavailable",
      "description": "We could not find this lead locally. Please try again once sync completes."
    },
    "errorTitle": "Unable to load lead",
    "relatedHeading": "Linked records",
    "relatedRecord": "Related",
    "comingSoon": "The {section} section will be available soon.",
    "tabs": {
      "info": "Lead information",
      "comments": "Comments",
      "activity": "Activity overview"
    },
    "overview": {
      "title": "Overview",
      "status": "Lead status",
      "industry": "Industry / sector",
      "source": "Source",
      "notAvailable": "Not available"
    },
    "labels": {
      "company": "Company",
      "email": "Email",
      "phone": "Phone"
    }
  },
  "organizationDetail": {
    "empty": {
      "title": "Organization unavailable",
      "description": "We could not find this organization locally. Please try again once sync completes."
    },
    "errorTitle": "Unable to load organization",
    "tabs": {
      "info": "Organization information",
      "comments": "Comments",
      "activity": "Activity overview"
    },
    "relatedHeading": "Linked records",
    "relatedRecordsEmpty": "No linked records yet.",
    "relatedRecord": "Related record",
    "comingSoon": "The {section} section will be available soon.",
    "visitReportsTitle": "Visit reports",
    "contactPersonsHeading": "Contact persons",
    "contactPersonsEmpty": "No contact persons linked yet.",
    "openContact": "Open contact"
  },
  "visitReportDetail": {
    "empty": {
      "title": "Visit report unavailable",
      "description": "We could not find this visit report locally. Please try again once sync completes."
    },
    "errorTitle": "Unable to load visit report",
    "infoTile": "Visit report information",
    "commentsTile": "Comments",
    "relatedHeading": "Linked records",
    "leadsLabel": "Leads",
    "contactHeading": "Contact",
    "openContact": "Open contact",
    "organizationFallback": "Organization",
    "contactFallback": "Contact",
    "comingSoon": "The {section} view will be available soon.",
    "editAction": "Edit visit report",
    "informationPlaceholderTitle": "Visit report details coming soon",
    "informationPlaceholderDescription": "The full field view for this visit report will be available soon.",
    "leadsPlaceholderTitle": "Linked leads coming soon",
    "leadsPlaceholderDescription": "You will be able to browse and manage the leads linked to this visit report here.",
    "backToDetail": "Back to visit report",
    "untitled": "Untitled visit report",
    "attachmentsTile": "Attachments",
    "attachmentsTab": "Attachments",
    "attachmentsTitle": "Attachments",
    "attachmentsEmptyTitle": "No attachments yet",
    "attachmentsEmptyDescription": "Add files or photos from your device to include them with this visit report.",
    "attachmentsUpload": "Add attachment",
    "attachmentsUploadHint": "Uploads sync as soon as you're back online.",
    "attachmentsLocalBadge": "Will upload when online",
    "attachmentsDownload": "Open"
  },
  "picklistSheet": {
    "searchPlaceholder": "Search options",
    "searchField": "Search for {field}",
    "selected": "Selection",
    "all": "A - Z",
    "noResults": "No options match your search.",
    "placeholder": "Select an option",
    "clear": "Clear",
    "apply": "Apply"
  },
  "referencePicker": {
    "searchPlaceholder": "Search records",
    "searchField": "Search for {field}",
    "section": {
      "selected": "Selection",
      "results": "Results",
      "alphabetical": "A - Z"
    },
    "noResults": "No records match this search."
  },
  "filters": {
    "sheetTitle": "Choose filter criteria",
    "searchPlaceholder": "Search fields",
    "clearSearch": "Clear field search",
    "active": "Active",
    "noFields": "No fields match your search.",
    "operandGroup": "Choose filter operand",
    "valueLabel": "Filter value",
    "selectValue": "Choose value",
    "selectPlaceholder": "Select…",
    "textValue": "Enter value",
    "inputPlaceholder": "Type filter value",
    "reset": "Reset",
    "apply": "Apply filter",
    "openSheet": "Open filters",
    "operands": {
      "is": "is",
      "isNot": "is not",
      "beginsWith": "begins with",
      "endsWith": "ends with",
      "contains": "contains"
    },
    "boolean": {
      "true": "True",
      "false": "False"
    },
    "editFilter": "Edit filter",
    "removeFilter": "Remove filter",
    "selectFieldPrompt": "Select a field to define a filter."
  },
  "sync": {
    "last": "Last sync:",
    "none": "No sync recorded yet",
    "offline": "Offline",
    "offlineTitle": "Connection lost",
    "offlineDescription": "Check your connection and retry.",
    "offlineBanner": "No connection. Changes will sync when you are back online.",
    "errorBanner": "Synchronization issue detected.",
    "errorDescription": "Please try again to resume syncing.",
    "resumed": "Synchronization resumed.",
    "retrying": "Retrying synchronization...",
    "syncingDescription": "We are syncing your latest changes.",
    "pendingDescription": "Syncing {count} change(s)…",
    "syncedAt": "Synced at",
    "lastRunProcessed": "Last sync processed {count} change(s).",
    "pausedTitle": "Background sync paused",
    "pausedDescription": "Background sync is paused. Changes stay queued until you resume.",
    "resume": "Resume",
    "retry": "Retry",
    "dismiss": "Dismiss",
    "reviewConflicts": "Review conflicts",
    "conflictTitle": "Resolve sync conflicts",
    "conflictDescription": "Review conflicts to continue syncing.",
    "conflictDescriptionCount": "{count} change(s) need your decision.",
    "status": {
      "offline": "Offline mode",
      "paused": "Background sync paused.",
      "error": "Synchronization issue detected.",
      "syncing": "Synchronizing…",
      "conflict": "Sync conflicts need review.",
      "syncedAt": "Synced {timestamp}"
    },
    "initialLoading": "Your data is loading..."
  },
  "push": {
    "enablePrompt": "Enable push notifications to receive sync updates.",
    "enableAction": "Enable",
    "enabled": "Push notifications enabled.",
    "denied": "Notifications are blocked in your browser settings.",
    "missingKey": "Push configuration missing VAPID public key.",
    "error": "Unable to configure push notifications."
  },
  "header": {
    "homeSubtitle": "Stay on top of your day",
    "searchHome": "Search contacts, leads, organizations...",
    "searchModule": "Search in this list",
    "greeting": {
      "night": "Good night",
      "morning": "Good morning",
      "afternoon": "Good afternoon",
      "evening": "Good evening",
      "named": "{greeting}, {name}"
    },
    "offlineNotice": "You are in offline mode"
  },
  "settings": {
    "title": "Settings",
    "subtitle": "Adjust how brainX behaves on this device.",
    "security": {
      "title": "Security",
      "webauthn": {
        "title": "Biometric sign-in",
        "descriptionEnabled": "Use Face ID or fingerprint to sign in faster on this device.",
        "descriptionDisabled": "Enable biometrics to skip entering your password on this device.",
        "unsupported": "This device does not support biometric sign-in.",
        "note": "Biometric credentials are stored locally on this device.",
        "status": {
          "enabled": "Biometric sign-in is enabled on this device.",
          "enabledAt": "Enabled on {timestamp}",
          "disabled": "Biometric sign-in is turned off for this device.",
          "enabledLabel": "Enabled",
          "disabledLabel": "Disabled"
        },
        "toast": {
          "enabled": "Biometric sign-in enabled.",
          "disabled": "Biometric sign-in disabled.",
          "error": "Unable to enable biometric sign-in."
        },
        "errorGeneric": "Unable to configure biometrics. Please try again.",
        "errorEndpointMissing": "Biometric endpoint is not available on this server."
      }
    },
    "language": {
      "title": "Language",
      "description": "Choose how brainX displays text after you sign in.",
      "helper": "Your selection overrides the CRM default for this device.",
      "selectLabel": "App language",
      "reset": "Use CRM default",
      "resetDescription": "Reverts to the language stored in your CRM profile.",
      "languages": {
        "en": "English",
        "de": "German",
        "fr": "French",
        "es": "Spanish",
        "it": "Italian"
      },
      "status": {
        "manual": "Overriding to {language} on this device.",
        "crm": "Using CRM default ({language}).",
        "browser": "Using browser language ({language})."
      },
      "toast": {
        "updated": "Language updated.",
        "reset": "Language reset to CRM default."
      }
    },
    "sync": {
      "title": "Sync & diagnostics",
      "backgroundTitle": "Background sync",
      "backgroundOn": "Keeps data in sync automatically when you are online.",
      "backgroundOff": "Background sync is paused. Changes remain queued until you resume it.",
      "pendingHeading": "Pending changes",
      "noPending": "No pending changes waiting to sync.",
      "conflictsTitle": "Sync conflicts",
      "conflictsPendingDescription": "{count} change(s) need your review before syncing can continue.",
      "conflictsEmptyDescription": "No conflicts detected. Your queued changes will sync automatically.",
      "reviewConflicts": "Review conflicts ({count})",
      "reviewConflictsEmpty": "No conflicts",
      "simulateConflict": "Simulate conflict",
      "simulatingConflict": "Simulating…",
      "status": {
        "online": "Currently online",
        "offline": "Currently offline",
        "syncing": "Synchronizing now…",
        "paused": "Background sync paused",
        "initializing": "Checking sync status…"
      },
      "exportLogs": "Download sync log",
      "exportCaption": "Exports the recent background sync history as JSON.",
      "exportSuccess": "Sync log exported.",
      "exportEmpty": "No sync activity to export yet.",
      "lastCompletedAt": "Last successful sync at {timestamp}",
      "toast": {
        "enabled": "Background sync resumed.",
        "disabled": "Background sync paused."
      }
    },
    "account": {
      "title": "Account",
      "logout": "Sign out",
      "loggingOut": "Signing out…",
      "logoutDescription": "Sign out and clear offline data from this device.",
      "toast": {
        "success": "Signed out.",
        "error": "Unable to sign out. Please try again."
      }
    }
  },
  "snackbar": {
    "dismiss": "Dismiss",
    "error": "Something went wrong",
    "warning": "Please check your connection",
    "success": "Done",
    "syncing": "Working…",
    "info": "Information",
    "syncSuccess": "Data synchronized.",
    "syncCached": "Showing cached data while offline.",
    "syncError": "Sync failed. Please try again.",
    "searchInfo": "Search will open soon.",
    "filterInfo": "Filter panel coming soon.",
    "createInfo": "Creation flow coming soon.",
    "syncPaused": "Background sync paused."
  },
  "list": {
    "empty": "No records available yet."
  },
  "splash": {
    "subtitle": "brainX CRM Progressive Web App"
  },
  "auth": {
    "login": {
      "title": "Welcome",
      "subtitle": "Sign in with your username and password to access the brainX mobile app.",
      "username": "Username",
      "usernamePlaceholder": "Enter your username",
      "password": "Password",
      "passwordPlaceholder": "Enter your password",
      "submit": "Sign in",
      "processing": "Signing in…",
      "showPassword": "Show characters",
      "hidePassword": "Hide characters",
      "validation": {
        "missingFields": "Please enter both username and password."
      },
      "demoHint": "Demo mode uses sample data and should only be enabled intentionally.",
      "demoToggleLabel": "Enable demo data (dev only)",
      "invalid": "Invalid username or password. Please try again.",
      "genericError": "Unable to sign in right now. Please try again.",
      "syncFailed": "Login succeeded but data sync could not complete. Please try again.",
      "biometric": {
        "title": "Biometric sign-in",
        "description": "Use saved device credentials to sign in faster.",
        "button": "Sign in with biometrics",
        "unavailable": "Biometric sign-in not available on this device.",
        "error": "Biometric sign-in failed. Please try again."
      }
    },
    "totp": {
      "title": "Enter verification code",
      "subtitle": "Enter the 6-digit code from your authenticator app.",
      "usernameHint": "Account: {username}",
      "codeLabel": "One-time code",
      "placeholder": "000000",
      "submit": "Verify code",
      "processing": "Verifying…",
      "back": "Back to sign-in",
      "validation": {
        "invalid": "Enter the 6-digit code from your authenticator app.",
        "missingChallenge": "Your verification session expired. Please sign in again."
      },
      "invalidCode": "The verification code is invalid or expired.",
      "genericError": "Unable to verify the code. Please try again.",
      "syncFailed": "Verification succeeded but data sync could not complete. Please try again."
    }
  },
  "organizations": {
    "empty": {
      "title": "No organizations yet",
      "description": "Sync or create an organization to see it here.",
      "cta": "Add organization"
    }
  },
  "reports": {
    "empty": {
      "title": "No visit reports yet",
      "description": "Log on-site conversations to keep your team aligned.",
      "cta": "Create visit report"
    },
    "groupUnknown": "Date unknown"
  }
}
