{
  "landing": {
    "meta": {
      "title": "TreeDetect | Drone-Based Forest Survey Platform",
      "description": "TreeDetect is a drone forest survey platform that turns LiDAR and photogrammetry data into a precise forest inventory and forest insights in hours. Plan your drone flight, run automated processing, and share an online, interactive forest survey report.",
      "keywords": "forest survey, forest survey software, forest inventory, forest inventory software, forest insights, forest insight platform, drone forest survey, UAV LiDAR forest survey, photogrammetry forest survey, forest inventory report"
    },
    "nav": {
      "solution": "Solution",
      "workflow": "Workflow",
      "demo": "Demo",
      "pricing": "Pricing",
      "contact": "Contact"
    },
    "auth": {
      "register": "Register",
      "login": "Log in",
      "goToDashboard": "Go to Dashboard"
    },
    "aria": {
      "toggleMenu": "Toggle menu"
    },
    "beforeAfter": {
      "altOriginal": "Aerial forest imagery before TreeDetect processing",
      "altProcessed": "TreeDetect processed forest imagery highlighting detected trees"
    },
    "hero": {
      "title": "Explore every corner of the forest!",
      "description": "TreeDetect is a comprehensive platform that fully supports every step of the drone-based forest surveying process. It can be used by both drone operators and forestry professionals, from flight planning to automatic data processing and report generation. The platform allows you to manage projects in one place, plan flight routes, and upload captured data, which the system then automatically analyzes. It identifies individual trees and determines their height, diameter, gross volume, and basal area. The result is an interactive report generated within hours, providing a wide range of valuable forest metrics and indicators, all without any software installation or manual processing.",
      "imageAlt": "TreeDetect dashboard displaying drone-based forest analytics",
      "buttons": {
        "tryIt": "Learn more",
        "bookDemo": "Book a demo"
      }
    },
    "contact": {
      "tagline": "Get in Touch",
      "title": "Contact us",
      "description": "Ready to elevate your forest surveys? Whether you're curious about features, need a live walkthrough, or want to discuss your project requirements, our team is standing by. Drop us a message and we'll get back to you swiftly to schedule an online demo or answer any questions!",
      "form": {
        "name": "Name",
        "email": "Email",
        "phone": "Phone number",
        "phoneOptional": "(Optional)",
        "company": "Company",
        "companyOptional": "(Optional)",
        "message": "Message",
        "newsletter": "Newsletter subscription",
        "terms": "I accept the Terms",
        "submit": "Send",
        "submitting": "Sending…",
        "charCount": "{{count}} / 200"
      },
      "validation": {
        "nameRequired": "Name is required.",
        "emailRequired": "Email is required.",
        "emailInvalid": "Invalid email.",
        "phoneInvalid": "Invalid phone number.",
        "termsRequired": "You must accept the terms.",
        "messageMaxLength": "Max 200 characters."
      },
      "success": "Thank you for contacting us!",
      "button": "Book a demo",
      "sending": "Sending…",
      "sent": "Message sent",
      "icons": {
        "email": "Email icon",
        "phone": "Phone icon",
        "location": "Location pin icon"
      }
    },
    "counters": {
      "subtitle": "Global Impact",
      "title": "TreeDetect in Numbers",
      "description": "Our platform is used by drone operators and forestry professionals worldwide for fast and accurate forest surveying.",
      "surveyedArea": "Surveyed Area (ha)",
      "registeredUsers": "Registered Users",
      "countryCount": "Countries",
      "lastUpdated": "Last updated: {{date}}"
    },
    "customer": {
      "subtitle": "Drone Operators & Forestry Teams",
      "title": "Drone-Based Forest Surveying on One Platform",
      "description": "TreeDetect delivers interactive forest analytics in hours.",
      "droneOperators": {
        "title": "Drone Operators",
        "tagline": "Expand Your Service Portfolio",
        "description": "With TreeDetect you can plan detailed flight missions in our intuitive web interface and capture high resolution aerial imagery or LiDAR point clouds with any commercial drone. Simply upload your raw data to our cloud platform where powerful algorithms automatically process every frame and generate an interactive forestry report. Expand your service portfolio with professional forestry deliverables that require no software installation manual data handling."
      },
      "forestryTeams": {
        "title": "Forest Management",
        "tagline": "Streamline Your Field Surveys",
        "description": "With TreeDetect you fly your drone or upload existing aerial images and LiDAR data to our intuitive web platform. Within hours you can access an interactive online report that measures every individual tree with precision, providing counts, heights, diameters, crown widths, canopy cover, total gross wood volume, basal area and spatial density maps. Our cloud based solution requires no software installation or manual data handling so your team can focus on managing forest health and planning harvests efficiently."
      },
      "buttons": {
        "tryIt": "Learn more",
        "bookDemo": "Book a demo"
      }
    },
    "demo": {
      "subtitle": "Data Collection",
      "description": "Choose LiDAR scanning or aerial photogrammetry to gather raw survey data.",
      "lidar": {
        "title": "LiDAR",
        "description": "Fly with a LiDAR-equipped drone to directly capture dense 3D point clouds. Upload your raw .las files and our platform will immediately process them for automatic tree detection and measurement.",
        "iconAlt": "LiDAR sensor icon"
      },
      "photogrammetry": {
        "title": "Photogrammetry",
        "description": "Capture overlapping high-res photos with any camera drone. TreeDetect automatically reconstructs the 3D point cloud using photogrammetry, and performs the complete forest survey without any manual intervention.",
        "iconAlt": "Photogrammetry camera icon"
      },
      "rightSide": {
        "tagline": "Real Forest Survey Data",
        "title": "Demo",
        "description": "Explore a sample survey on our platform and see TreeDetect in action. Viewing sample projects requires registration. You'll gain access to a comprehensive survey dashboard where interactive maps, charts and detailed tables bring every aspect of the forest to life. Navigate seamlessly through your data to uncover insights, visualize patterns and make informed decisions with ease."
      },
      "buttons": {
        "tryIt": "Learn more",
        "seeForYourself": "See for Yourself",
        "lidarSampleProject": "LiDAR Sample Project",
        "photogrammetrySampleProject": "Photogrammetry Sample Project"
      }
    },
    "faq": {
      "questions": [
        {
          "q": "What is a drone-based forest survey?",
          "a": "During a drone-based forest survey, LiDAR or high-resolution camera systems mounted on drones are used to capture detailed data of the forest area. The resulting point clouds enable the automatic detection of individual trees and the accurate measurement of their height, trunk diameter, and canopy size. This method is faster, more cost-effective, and more detailed than traditional field surveys, and it is also suitable for efficiently analyzing large forest areas."
        },
        {
          "q": "What does TreeDetect do?",
          "a": "TreeDetect is a comprehensive forestry software solution that fully supports drone-based forest surveys. With TreeDetect, you can easily plan automated drone flights, upload your data, and let the system automatically process LiDAR and photogrammetric datasets. It detects and measures individual trees, then generates detailed reports and visualizations that provide an accurate overview of forest structure and support data-driven, well-informed forest management decisions."
        },
        {
          "q": "What data is required for a drone-based forest survey?",
          "a": "TreeDetect can process data collected either through LiDAR scanning or photogrammetry. In the case of a LiDAR-equipped drone, raw point clouds can be uploaded directly, while aerial images captured with a camera drone are automatically converted by TreeDetect into a 3D point cloud. It's important to follow TreeDetect's recommended flight parameters such as altitude, image overlap, and camera angle as these settings have a significant impact on the accuracy of the final analysis."
        },
        {
          "q": "What is the result after processing?",
          "a": "The processing generates a detailed tree inventory that includes each tree's height, trunk diameter, gross volume, and precise spatial location. The data can be exported in Excel, PDF, and GIS-compatible formats (GeoJSON). In addition, an interactive online report is available, making visualization and analysis easy and intuitive. This way, users gain a complete overview of the forest stand. Several free demo projects are available on our website, where you can explore examples of the final outputs produced by TreeDetect."
        },
        {
          "q": "Is a subscription required?",
          "a": "No, TreeDetect does not require a subscription. The platform operates on a pay-as-you-go model, meaning you only pay for the data you actually process. This offers a flexible and cost-effective solution for both small and large projects, helping you avoid unnecessary fixed costs while tailoring the service to your specific needs."
        },
        {
          "q": "Is there a free trial available?",
          "a": "Yes, TreeDetect can be tried for free. After registration, you'll gain access to a demo interface where you can explore the main features and reports. In addition, every user can process up to 3 hectares of forest area free of charge, allowing you to test the service with your own data. This provides a risk-free way to experience the benefits of automated drone-based forest surveying."
        }
      ]
    },
    "footer": {
      "logoAlt": "TreeDetect logotype",
      "contact": "Contact:",
      "office": "Office",
      "phoneIconAlt": "Phone icon",
      "emailIconAlt": "Email icon",
      "followUs": "Follow us on:",
      "social": {
        "facebook": "TreeDetect on Facebook",
        "instagram": "TreeDetect on Instagram",
        "linkedin": "TreeDetect on LinkedIn"
      },
      "copyright": "© {{year}} TreeDetect. All rights reserved.",
      "links": {
        "privacy": "Privacy Policy",
        "terms": "Terms of Service",
        "cookies": "Cookie Settings"
      },
      "petiEmr": {
        "copyright": "© {{year}} PETI EMR Pro.",
        "support": "With professional support from KAEG Zrt."
      }
    },
    "pricing": {
      "tagline": "Pricing",
      "title": "Choose Your Plan",
      "description": "Select LiDAR or photogrammetry-based surveys and pay only for the area you measure, with clear per-hectare rates and no hidden fees. ",
      "lidar": {
        "title": "LiDAR",
        "description": "Simply upload your raw LiDAR point clouds and our platform automatically performs a complete forest survey, then generates an interactive dashboard where you can access every key insight.",
        "iconAlt": "LiDAR pricing icon",
        "features": [
          "Complete Tree Inventory",
          "Tree Count",
          "Digital Terrain Model"
        ]
      },
      "photogrammetry": {
        "title": "Photogrammetry",
        "description": "Capture aerial images, upload them to TreeDetect, and our platform automatically reconstructs the 3D point cloud, performs a complete forest survey and delivers an interactive dashboard where every key insight is at your fingertips.",
        "iconAlt": "Photogrammetry pricing icon",
        "features": [
          "Complete Tree Inventory",
          "Tree Count",
          "Digital Terrain Model + Orthophoto"
        ]
      },
      "multispectral": {
        "features": [
          "Multispectral analysis"
        ]
      },
      "thermal": {
        "features": [
          "Thermal analysis"
        ]
      },
      "slider": {
        "label": "Enter survey area (hectares)"
      },
      "price": {
        "unitPrice": "Price/hectar:",
        "freeZone": "First 3 hectares are free!",
        "select": "Select"
      }
    },
    "docs": {
      "tagline": "Knowledge base",
      "title": "All knowledge in one place",
      "description": "Learn exactly how the platform works in detail. On our documentation page, you will find all the necessary information, whether it's about flight planning, interpreting the report, or how the platform operates.",
      "button": "Full documentation"
    },
    "timeline": {
      "tagline": "How It Works",
      "title": "Forest Inventory in 4 Steps",
      "description": "Plan your mission, capture drone data, process it in the cloud and explore interactive forest analytics.",
      "steps": [
        {
          "title": "Plan",
          "heading": "Mission Planning",
          "description": "Use our web interface to outline your survey area, and we'll calculate all the necessary flight parameters, including altitude, overlap and sensor settings, so you know exactly how to capture imagery or LiDAR data for your survey.",
          "button": "Plan your Mission"
        },
        {
          "title": "Fly",
          "heading": "Data Capture",
          "description": "Use the parameters we provide to configure automated flights in DJI Pilot 2 or DroneDeploy (or any other automated mission planning software). Execute the mission and capture high-resolution aerial imagery or dense LiDAR point clouds effortlessly."
        },
        {
          "title": "Process",
          "heading": "Automated Analysis",
          "description": "Upload your raw files to our secure cloud platform and let our engine ingest every frame and point cloud. In just hours you'll have an interactive forest report that measures each tree's count, height diameter, gross volume and more.",
          "button": "Detailed Documentation"
        },
        {
          "title": "Report",
          "heading": "Interactive Insights",
          "description": "Dive into your interactive online report to access all the essential metrics and visualizations. Analyze trends over time with customizable charts and filters to inform strategic decisions. Share access instantly with colleagues or export data for further analysis",
          "button": "See demo"
        }
      ]
    },
    "video": {
      "previous": "Previous",
      "next": "Next",
      "close": "Close"
    }
  },
  "emails": {
    "contact": {
      "confirmation": {
        "subject": "Thank you for contacting us - TreeDetect",
        "heading": "Thank you for reaching out!",
        "salutation": "Hello {{name}}!",
        "intro": "We appreciate your interest in TreeDetect.",
        "paragraphs": [
          "Our team will contact you shortly.",
          "We typically respond within 1-2 business days."
        ],
        "ctaLabel": "Visit our website",
        "ctaUrl": "https://www.treedetect.com",
        "closing": "If your inquiry is urgent, call us at +36 20 275 7124.",
        "signature": "Best regards,\nThe TreeDetect Team"
      }
    }
  },
  "globalHeader": {
    "backToDashboard": "Back to Dashboard"
  },
  "legal": {
    "links": [
      {
        "slug": "terms-of-service",
        "label": "Terms of Service"
      },
      {
        "slug": "privacy-policy",
        "label": "Privacy Policy"
      },
      {
        "slug": "cookie-policy",
        "label": "Cookie Policy"
      },
      {
        "slug": "refund-policy",
        "label": "Refund Policy"
      },
      {
        "slug": "service-level-agreement",
        "label": "Service Level Agreement"
      }
    ],
    "notFound": "The requested document is not available."
  },
  "notFound": {
    "statusLabel": "Error 404",
    "title": "Page not found",
    "description": "The page you're looking for might have been removed, had its name changed, or is temporarily unavailable. You may need to log in to view this page.",
    "button": "Back to homepage"
  },
  "user": {
    "defaultName": "User"
  },
  "userMenu": {
    "dashboard": "Dashboard",
    "home": "Home",
    "profile": "Profile",
    "orders": "Orders",
    "docs": "Docs",
    "organization": "Organization",
    "admin": "Admin",
    "logout": "Log out"
  },
  "globalCommon": {
    "backToDashboard": "Back to Dashboard"
  },
  "project": {
    "loading": "Loading project...",
    "untitled": "Untitled project",
    "seed": {
      "name": "Test Project - Forest Survey",
      "description": "Sample project for the three-phase workflow",
      "location": "Hungary"
    },
    "error": {
      "generic": {
        "title": "An error occurred",
        "message": "Error loading project via API"
      },
      "accessDenied": {
        "title": "Access denied",
        "message": "You don't have access to this project. The owner may have removed your access."
      },
      "notFound": {
        "title": "Project not found",
        "message": "The project was not found. It may have been deleted or doesn't exist."
      }
    }
  },
  "profile": {
    "loading": "Loading profile...",
    "menu": {
      "title": "Settings",
      "profile": "Profile",
      "billing": "Billing",
      "orders": "Orders",
      "notifications": "Notifications"
    },
    "aria": {
      "menuOpen": "Open menu",
      "menuClose": "Close menu"
    },
    "page": {
      "title": "Profile",
      "subtitle": "Here you can modify your personal data and settings"
    },
    "group": {
      "basic": "Basic information",
      "contact": "Contact details",
      "language": "Language",
      "other": "Other",
      "referral": "Coupon code / Referral",
      "password": "Password",
      "dangerZone": "Danger Zone"
    },
    "fields": {
      "firstName": "First name",
      "lastName": "Last name",
      "phone": "Phone number",
      "email": "Email",
      "company": "Company",
      "role": "Role",
      "preferredLanguage": "Preferred language",
      "preferredSystem": "Measurement system",
      "preferredCurrency": "Preferred currency",
      "referral": "Enter or modify coupon code",
      "password": "Password"
    },
    "dangerZone": {
      "deleteAccount": {
        "title": "Delete Account",
        "description": "Permanently delete your account and all associated data. This action is irreversible.",
        "button": "Delete Account",
        "modal": {
          "title": "Are you sure you want to delete your account?",
          "warningStrong": "This action is permanent and cannot be undone.",
          "warningDescription": "All your data, including projects, files, and settings, will be permanently erased.",
          "passwordLabel": "Please enter your password to confirm",
          "passwordPlaceholder": "Password",
          "passwordRequired": "Password is required to delete your account.",
          "confirmButton": "Yes, delete my account",
          "wrongPassword": "Incorrect password. Please try again.",
          "requiresRecentLogin": "For security reasons, please log in again before attempting to delete your account."
        }
      }
    },
    "systemOptions": {
      "metric": "Metric (m, ha, m³)",
      "imperial": "Imperial (ft, acre, cu ft)"
    },
    "currencyOptions": {
      "huf": "HUF (Ft)",
      "eur": "EUR (€)",
      "usd": "USD ($)"
    },
    "currencyStatus": {
      "saving": "Saving currency...",
      "saved": "Currency updated"
    },
    "placeholders": {
      "firstName": "First name",
      "lastName": "Last name",
      "phone": "+36 20 5748392",
      "email": "Email",
      "company": "Company name",
      "referralExample": "Example: ABC123"
    },
    "roles": {
      "droneOperator": "Drone Operator",
      "forester": "Forestry Manager"
    },
    "optional": "Optional",
    "notifications": {
      "projectProcessing": {
        "title": "Project processing started",
        "message": "Processing of \"{{projectName}}\" project has started. You can view the results soon."
      },
      "projectCompleted": {
        "title": "Project report completed",
        "message": "The report for \"{{projectName}}\" project is ready."
      },
      "title": "Notifications",
      "generalTitle": "General notifications",
      "email": "Email notifications",
      "helper": "Receive transactional emails about your project status, processing progress and payment success.",
      "ariaEmail": "Email notifications",
      "inApp": "In-app notifications",
      "inAppHelper": "Show notifications inside the app (bell icon).",
      "ariaInApp": "In-app notifications",
      "conditionalTitle": "Automated project emails",
      "conditionalProjectEmails": "Automated project emails",
      "conditionalProjectEmailsHelper": "Automated reminder emails about your projects (next steps, pending payment, report feedback). Controlled independently of the email notifications above.",
      "orgAwaitingApproval": {
        "title": "Project awaiting approval",
        "message": "The project \"{{projectName}}\" has been submitted and is awaiting your approval. Open the organization panel to approve it."
      }
    },
    "referral": {
      "current": "Current code:",
      "markedForDeletion": "Code marked for deletion"
    },
    "actions": {
      "changePassword": "Change password"
    },
    "newsletter": "Subscribe to newsletter",
    "validation": {
      "nameRequired": "Name is required",
      "invalidPhone": "Invalid phone number format",
      "companyRequired": "Company name is required",
      "taxIdRequired": "Tax ID is required",
      "billingAddressRequired": "Billing address (street, house number) is required",
      "cityRequired": "City is required",
      "postalCodeRequired": "Postal code is required",
      "countryRequired": "Country is required"
    },
    "errors": {
      "saveFailed": "Error during save"
    },
    "toast": {
      "unsavedChanges": "Unsaved changes",
      "saving": "Saving...",
      "saved": "Successfully saved",
      "save": "Save",
      "cancel": "Cancel"
    }
  },
  "common": {
    "loading": "Loading...",
    "units": {
      "treeCount": "trees"
    },
    "paymentStatus": {
      "paid": "Paid"
    },
    "actions": {
      "share": "Share",
      "apply": "Apply",
      "save": "Save",
      "saving": "Saving...",
      "edit": "Edit",
      "cancel": "Cancel",
      "delete": "Delete",
      "copy": "Click to copy"
    },
    "links": {
      "docsLanding": "https://docs.treedetect.com/"
    },
    "cookieConsent": {
      "message": "This site uses cookies.",
      "accept": "Accept",
      "learnMore": "Learn more about our cookie policy"
    },
    "errors": {
      "network": "Network error. Please try again."
    },
    "sliders": {
      "minimum": "Minimum value",
      "current": "Current value",
      "rangeStart": "Range start",
      "rangeEnd": "Range end"
    },
    "locale": {
      "hu": "Magyar",
      "en": "English",
      "de": "Deutsch"
    },
    "theme": {
      "light": "Light theme",
      "dark": "Dark theme",
      "system": "System theme",
      "current": "Current theme",
      "clickToChange": "Click to cycle through themes"
    },
    "infoLinks": {
      "quickStats": "https://docs.treedetect.com/how-it-works/planning/",
      "flightParameters": "https://docs.treedetect.com/how-it-works/planning/flight-parameters/",
      "areaMarking": "https://docs.treedetect.com/how-it-works/planning/location-map/",
      "materialUpload": "https://docs.treedetect.com/how-it-works/upload/material-upload/",
      "forestParameters": "https://docs.treedetect.com/how-it-works/upload/forest-parameters/",
      "canopy": "https://docs.treedetect.com/services/complete-tree-inventory/",
      "customFormula": "https://docs.treedetect.com/how-it-works/upload/forest-parameters/formulas/",
      "payment": "https://docs.treedetect.com/how-it-works/upload/payment/",
      "services": "https://docs.treedetect.com/services/"
    },
    "approve": "Approve",
    "reject": "Reject",
    "role": "Role",
    "create": "Create",
    "delete": "Delete",
    "email": "Email",
    "status": "Status",
    "name": "Name"
  },
  "feedback": {
    "title": "Project Feedback",
    "description": "Please rate the project and share your feedback or measured data.",
    "ratingLabel": "Rating",
    "commentLabel": "Comment / Measured Data",
    "commentPlaceholder": "Write your feedback here...",
    "submitBtn": "Submit Feedback",
    "ratingRequired": "Please provide a rating!",
    "submitError": "An error occurred while submitting feedback.",
    "submitted": "Thank you for your feedback!"
  },
  "dashboard": {
    "loading": {
      "projects": "Loading projects..."
    },
    "errors": {
      "loadProjects": "Failed to load projects"
    },
    "filters": {
      "location": "Location",
      "type": "Type",
      "status": "Status"
    },
    "types": {
      "photogrammetry": "Photogrammetry",
      "lidar": "LiDAR"
    },
    "status": {
      "planning": "Planning",
      "processing": "Processing",
      "report_ready": "Report ready",
      "ready": "Ready",
      "deleted": "In Trash",
      "error": "Error"
    },
    "actions": {
      "search": "Search",
      "clearFilters": "Clear all filters",
      "addProject": "Create project",
      "addFolder": "Create folder"
    },
    "placeholders": {
      "searchByName": "Search by project name…"
    },
    "empty": {
      "noLocations": "No locations available",
      "noStatuses": "No statuses available",
      "noProjects1": "You don't have any projects yet.",
      "noProjects2": "Create a new one using the button above!",
      "deletedProjectsWarning": "Deleted projects will be permanently removed along with all their data after 7 days.",
      "deletedProjectsTitle": "Trash",
      "deletedProjectSingleTitle": "Project Pending Deletion"
    },
    "createProject": {
      "title": "Create Project",
      "name": "Name",
      "namePlaceholder": "Project Name",
      "description": "Description",
      "descriptionPlaceholder": "Write a short description...",
      "projectType": "Project Type",
      "projectTypePlaceholder": "Select type...",
      "create": "Create",
      "cancel": "Cancel"
    },
    "projectTypes": {
      "full_tree_cadastre": "Full Tree Cadastre",
      "tree_counting": "Tree Counting",
      "dtm_orthophoto": "DTM + Orthophoto",
      "multispectral": "Multispectral",
      "thermal": "Thermal Map"
    },
    "createFolder": {
      "title": "Create Folder",
      "name": "Name",
      "namePlaceholder": "Folder Name",
      "create": "Create",
      "cancel": "Cancel"
    },
    "table": {
      "name": "Name",
      "location": "Location",
      "type": "Photo/LiDAR",
      "created": "Created",
      "status": "Status",
      "actions": "Actions"
    },
    "map": {
      "title": "Projects on the map",
      "subtitle": "Displaying projects with coordinates"
    },
    "moveProject": {
      "title": "Move Project",
      "close": "Close",
      "selectFolder": "Select target folder",
      "placeholder": "Select a folder…",
      "topLevel": "Outside of folders",
      "cancel": "Cancel",
      "move": "Move"
    }
  },
  "admin": {
    "title": "Admin Dashboard",
    "welcome": "Welcome",
    "backToDashboard": "Dashboard",
    "logout": "Log out",
    "tabs": {
      "summary": "Overview",
      "projects": "Projects",
      "admins": "Admin Management",
      "referrals": "Referral codes",
      "pricing": "Pricing",
      "balance": "Balance",
      "usersData": "User Data",
      "organizations": "Organizations"
    },
    "balance": {
      "available": "Available balance",
      "pending": "Pending",
      "disclaimer": "The balance shows the current state of your Stripe account."
    },
    "summary": {
      "totalHectares": "Surveyed area",
      "avgProcessingTime": "Avg. processing time",
      "registeredUsers": "Registered users",
      "revenue": "Revenue",
      "photoLidarRatio": "Photo / LiDAR ratio",
      "countries": "Countries",
      "completedProjects": "completed projects",
      "days": "days",
      "transactions": "transactions",
      "photoProjects": "Photogrammetry",
      "lidarProjects": "LiDAR",
      "total": "Total",
      "allProjectsMap": "All projects on map",
      "projectTimeline": "Project creations",
      "weekly": "Weekly",
      "monthly": "Monthly",
      "daily": "Daily",
      "customRange": "Custom",
      "last7": "7 days",
      "last30": "30 days",
      "last90": "3 months",
      "last365": "1 year",
      "allTime": "All",
      "trend": "Trend",
      "noData": "No data to display"
    },
    "sections": {
      "processing": "Processing projects",
      "reportReady": "Report ready projects",
      "planning": "Projects in planning",
      "deleted": "Projects Pending Deletion",
      "awaitingApproval": "Awaiting approval"
    },
    "stats": {
      "deletedDaysAgo": "Deleted {{days}} days ago",
      "deleted": "Deleted",
      "processing": "Processing",
      "report_ready": "Report ready",
      "planning": "Planning",
      "awaiting_approval": "Awaiting approval"
    },
    "actions": {
      "restore": "Restore",
      "forceDelete": "Force Delete",
      "forceDeleteTitle": "Force Delete Project",
      "forceDeleteLead": "Are you sure you want to permanently delete this project? This action CANNOT be undone, and all data will be lost immediately!",
      "forceDeleteConfirm": "To confirm force deletion, type the project name:",
      "refreshList": "Refresh list",
      "refresh": "Refresh",
      "refreshing": "Refreshing…",
      "rejectReason": "Reason for rejection",
      "rejectReasonPlaceholder": "Please provide the reason for rejection...",
      "approve": "Approve",
      "reject": "Reject",
      "details": "Details"
    },
    "loading": {
      "processing": "Loading processing projects...",
      "reportReady": "Loading report-ready projects...",
      "planning": "Loading planning projects...",
      "admins": "Loading admin users..."
    },
    "empty": {
      "allProcessed": "All projects processed!",
      "noAwaitingApproval": "No projects awaiting approval",
      "noProcessing": "No projects are currently in processing.",
      "noReportReady": "No report-ready projects.",
      "noPlanning": "No projects in planning.",
      "noAdmins": "There are no admin users in the system.",
      "noUsers": "No users found."
    },
    "errors": {
      "loadProjects": "Failed to load projects",
      "loadReportReady": "Failed to load report-ready projects",
      "loadPlanning": "Failed to load planning projects",
      "deleteProject": "Failed to permanently delete project",
      "loadAdmins": "Failed to load admin users",
      "updateNotificationPrefs": "Error: Failed to update admin notification settings",
      "noUserWithEmail": "No registered user with this email address",
      "grantAdminFailed": "Error: {{message}}",
      "revokeAdminFailed": "Error: {{message}}",
      "statusUpdateFailed": "Status update failed",
      "excelUploadFailed": "Excel upload failed",
      "loadUsers": "Error loading users."
    },
    "management": {
      "title": "Manage Admin Permissions",
      "subtitle": "Firebase Custom Claims based admin system",
      "addTitle": "Add New Admin",
      "email": "Email address",
      "emailPlaceholder": "admin@example.com",
      "userId": "Firebase User ID (optional)",
      "userIdPlaceholder": "Firebase UID (can be left empty)",
      "adding": "Adding...",
      "add": "Grant Admin Permissions",
      "emailRequired": "Email address is required",
      "tip": "Tip",
      "tipText": "If you know the Firebase User ID, you can provide it for faster processing. If not, the system will automatically generate one based on the email address."
    },
    "notice": {
      "title": "Important!",
      "body1": "After granting admin permissions, the new admin must",
      "bodyStrong": "log out and log back in",
      "body2": "for the permissions to take effect.",
      "footnote": "This is due to how Firebase Custom Claims work."
    },
    "admins": {
      "title": "Current Admin Users",
      "refresh": "Refresh List",
      "grantedBy": "Granted by",
      "unknownDate": "Unknown date",
      "emailNotifications": "Email notifications",
      "emailNotificationsEnabled": "Email notifications enabled: {{email}}",
      "emailNotificationsDisabled": "Email notifications disabled: {{email}}",
      "revokeTitle": "Revoke admin permissions",
      "revoke": "Revoke",
      "revokeConfirm": "Are you sure you want to revoke admin permissions from: {{email}}?",
      "grantedSuccess": "Admin permissions successfully granted: {{email}}",
      "revokedSuccess": "Admin permissions successfully revoked: {{email}}"
    },
    "processingStage": {
      "label": "Processing Stage",
      "waiting": "Waiting for processing",
      "metashape_processing": "Metashape processing",
      "metashape_done": "Metashape done",
      "r_processing": "R processing",
      "error": "Error"
    },
    "projectCard": {
      "feedback": "Feedback (Rating)",
      "resetFeedback": "Reset feedback",
      "resetFeedbackHover": "Delete and reopen feedback",
      "confirmResetFeedback": "Are you sure you want to delete this feedback so the user can submit it again?",
      "areaPointCloud": "Area point cloud",
      "areaPointCloudDesc": "Upload the 3 Potree files: hierarchy.bin, metadata.json, octree.bin",
      "areaPointCloudUploaded": "Uploaded",
      "areaPointCloudEmpty": "(not uploaded)",
      "uploadFiles": "Upload files",
      "treeSegmentOutDesc": "Upload the entire Tree_segment_out folder with Potree converted tree folders.",
      "folderCount": "({{count}} folders)",
      "treePointCloudCount": "{{count}} tree point clouds",
      "moreFolders": "... and {{count}} more folders",
      "projectDetails": "Project Details",
      "projectId": "Project ID:",
      "noId": "No ID",
      "ownerUid": "Owner UID:",
      "noUid": "No UID",
      "ownerEmail": "Owner email:",
      "uploaded": "Uploaded:",
      "location": "Location:",
      "filesCount": "Files count:",
      "dataType": "Data type:",
      "description": "Description:",
      "projectStatus": "Project status:",
      "coveredArea": "Covered area (ha):",
      "reportType": "Report Type:",
      "totalPrice": "Total price:",
      "services": "Services:",
      "elapsedTime": "Elapsed time:",
      "processingTime": "Processing time:",
      "responsible": "Responsible:",
      "selectResponsible": "Select responsible…",
      "sourceDocs": "Source documents",
      "dataFolder": "Data ({{count}} files)",
      "uploadedReports": "Uploaded reports",
      "loading": "Loading...",
      "plannedArea": "Planned area",
      "areaSize": "Result (Area)",
      "pricing": "Pricing",
      "paid": "paid",
      "uploadMoreTiles": "Upload more tiles...",
      "download": "Download",
      "downloading": "Downloading…",
      "delete": "Delete",
      "uploadReport": "Upload report",
      "uploadNewReport": "Upload new report",
      "uploading": "Uploading...",
      "uploadProgress": "{{percent}}% uploaded",
      "viewProject": "View project",
      "errors": {
        "loadReportFiles": "Error loading report files",
        "noDataInFolder": "No files in data folder.",
        "archiveNotCreated": "Archive cannot be created: no data or package too large.",
        "noPermission": "No permission to download.",
        "dataArchiveError": "Error downloading data archive",
        "summaryDownloadError": "Error downloading project summary",
        "unsupportedFileType": "Unsupported file type! Allowed: {{types}}",
        "fileTooLarge": "File too large! Maximum 500MB.",
        "uploadFailed": "Report upload failed: {{message}}",
        "uploadSuccess": "Report file successfully uploaded!",
        "deleteConfirm": "Are you sure you want to delete \"{{fileName}}\"?",
        "deleteSuccess": "Report file successfully deleted!",
        "deleteFailed": "Report file deletion failed: {{message}}",
        "projectPlanning": "Project is still in planning, no data folder available for download."
      },
      "status": {
        "planning": "Planning",
        "processing": "Processing",
        "report_ready": "Report ready",
        "awaiting_approval": "Awaiting approval",
        "deleted": "Deleted",
        "ready": "Ready",
        "error": "Error",
        "unknown": "Unknown"
      },
      "uploadFolder": "Upload Folder",
      "treeSegmentOutEmpty": "(empty)",
      "treeSegmentUploadSuccess": "Tree_segment_out uploaded successfully",
      "confirmDeleteTreeSeg": "Delete the Tree_segment_out folder? This cannot be undone."
    },
    "table": {
      "projectName": "Project Name",
      "owner": "Owner",
      "location": "Location",
      "status": "Status",
      "processingTime": "Elapsed Time",
      "uploaded": "Uploaded",
      "actions": "Actions",
      "id": "ID",
      "email": "Email",
      "name": "Name",
      "firstName": "First Name",
      "lastName": "Last Name",
      "country": "Country",
      "phone": "Phone",
      "totalProjects": "Projects",
      "processedHectares": "Processed Hectares",
      "registered": "Registered",
      "totalSpent": "Total Spent"
    },
    "exportModal": {
      "title": "Select Columns",
      "download": "Download",
      "cancel": "Cancel"
    },
    "filter": {
      "all": "All",
      "dateRange": "Date",
      "lastWeek": "Last week",
      "lastMonth": "Last month",
      "custom": "Custom range",
      "from": "From",
      "to": "To",
      "favorites": "Favorites",
      "addFavorite": "Add to favorites",
      "removeFavorite": "Remove from favorites",
      "savedFilters": "Saved Filters",
      "saveFilter": "Save filter",
      "filterName": "Filter name...",
      "deleteFilter": "Delete",
      "noSavedFilters": "No saved filters yet",
      "clear": "Clear filters"
    },
    "referrals": {
      "title": "Manage referral codes",
      "filter": {
        "active": "Active",
        "all": "All"
      },
      "actions": {
        "newCode": "+ New code",
        "refresh": "Refresh",
        "edit": "Edit",
        "delete": "Delete",
        "deleting": "Deleting...",
        "save": "Save",
        "saving": "Saving…",
        "cancel": "Cancel"
      },
      "table": {
        "code": "Code",
        "discount": "Discount %",
        "commission": "Commission %",
        "stripeId": "Stripe Connect ID",
        "partnerId": "Partner ID",
        "usage": "Usage (users)",
        "created": "Created",
        "active": "Active",
        "yes": "Yes",
        "no": "No"
      },
      "form": {
        "titleNew": "New referral code",
        "titleEdit": "Edit referral code",
        "code": "Code",
        "codePlaceholder": "e.g. ABC123",
        "discount": "Discount (%)",
        "commission": "Commission (%)",
        "stripeId": "Stripe Connect Account ID",
        "stripeIdPlaceholder": "e.g. acct_1RvG3u8WonuvMKyp",
        "partnerId": "Partner ID (optional)",
        "partnerIdPlaceholder": "e.g. user_12345",
        "activeCode": "Active code",
        "hint": "Stripe coupon is automatically created/applied at payment, based on discount percentage. Commission is calculated on the final amount after discount."
      },
      "messages": {
        "loading": "Loading…",
        "empty": "No referral codes to display",
        "loadFailed": "Failed to load referral codes",
        "saved": "Referral code saved",
        "saveFailed": "Save failed",
        "deleted": "\"{{code}}\" referral code deleted",
        "deleteFailed": "Delete failed",
        "deleteConfirm": "Are you sure you want to delete the \"{{code}}\" referral code? This action cannot be undone."
      },
      "validation": {
        "codeMinLength": "Code must be at least 3 characters",
        "codeFormat": "Code can only contain A-Z, 0-9, _ and - characters",
        "discountRange": "Discount % must be between 0 and 100",
        "commissionRange": "Commission % must be between 0 and 100",
        "invalidStripeId": "Invalid Stripe Connect Account ID (e.g. acct_123...)"
      }
    },
    "pricing": {
      "title": "Pricing and Exchange Rate Management",
      "loading": "Loading pricing data...",
      "messages": {
        "loadFailed": "Failed to load pricing data",
        "missingDocs": "Some pricing documents are missing. Initialize defaults to proceed.",
        "defaultsInitialized": "Default pricing documents initialized",
        "tokenMissing": "Authentication token is missing. Please refresh and try again."
      },
      "sections": {
        "exchangeRates": "Exchange Rates",
        "servicePricing": "Service Pricing"
      },
      "exchangeRates": {
        "title": "Currency Exchange Rates",
        "subtitle": "EUR-based exchange rates",
        "current": "Current exchange rates",
        "manualOverride": "Manual override",
        "lastFetch": "Last updated",
        "source": "Source",
        "api": "API",
        "manual": "Manual",
        "baseCurrency": "Base currency",
        "rate": "Exchange rate",
        "hufLabel": "HUF rate",
        "usdLabel": "USD rate",
        "updatedBy": "Updated by {{user}}",
        "updatedByLabel": "Updated by",
        "refreshButton": "Refresh from API",
        "refreshing": "Refreshing...",
        "saveButton": "Save manual values",
        "refreshed": "Exchange rates successfully refreshed",
        "refreshFailed": "Exchange rate refresh failed",
        "overridden": "Exchange rates successfully overridden",
        "overrideFailed": "Exchange rate override failed",
        "invalidRates": "Invalid exchange rate values",
        "actions": {
          "refresh": "Refresh from API",
          "refreshing": "Refreshing...",
          "saveManual": "Save manual values",
          "saving": "Saving..."
        },
        "messages": {
          "refreshSuccess": "Exchange rates successfully refreshed from API",
          "refreshError": "Exchange rate refresh failed",
          "saveSuccess": "Exchange rates successfully saved",
          "saveError": "Exchange rate save failed"
        }
      },
      "servicePricing": {
        "title": "Service Pricing",
        "lidar": "LiDAR Pricing",
        "photogrammetry": "Photogrammetry Pricing",
        "editing": "Editing:",
        "feature": "Service",
        "tiers": "Pricing tiers",
        "tierRange": "{{min}} - {{max}} ha",
        "tierUnlimited": "{{min}}+ ha",
        "pricePerHa": "Price/ha (EUR)",
        "saved": "Pricing successfully saved",
        "saveFailed": "Pricing save failed",
        "actions": {
          "addTier": "+ Add tier",
          "addFeature": "+ Add service",
          "removeTier": "Remove",
          "removeFeature": "Remove service",
          "save": "Save",
          "saving": "Saving...",
          "edit": "Edit"
        },
        "placeholders": {
          "featureName": "Service name",
          "min": "Min (ha)",
          "max": "Max (ha)",
          "price": "Price (EUR)"
        },
        "messages": {
          "saveSuccess": "{{service}} pricing successfully saved",
          "saveError": "Pricing save failed",
          "confirmDelete": "Are you sure you want to delete this tier?"
        }
      }
    },
    "notifications": {
      "title": "Notifications",
      "unreadBadge": "{{count}}",
      "filters": {
        "unread": "Unread ({{count}})",
        "read": "Read ({{count}})"
      },
      "empty": {
        "all": "No notifications",
        "unread": "No unread notifications",
        "read": "No read notifications"
      },
      "time": {
        "now": "Now",
        "minutesAgo": "{{count}} minutes ago",
        "hoursAgo": "{{count}} hours ago",
        "daysAgo": "{{count}} days ago"
      },
      "actions": {
        "markRead": "Mark as read",
        "markUnread": "Mark as unread",
        "viewProject": "View project",
        "delete": "Delete notification",
        "expand": "▼ More",
        "collapse": "▲ Less",
        "loadMore": "Load more",
        "deleteAllRead": "Delete all read"
      },
      "data": {
        "project": "Project:",
        "user": "User:",
        "file": "File:"
      }
    },
    "guard": {
      "checking": "Checking permissions...",
      "checkingMessage": "Please wait while we verify your admin access rights.",
      "accessDenied": "Access denied",
      "noPermission": "You do not have permission to access the admin panel",
      "redirecting": "Redirecting to dashboard..."
    },
    "organizations": {
      "title": "Manage Organizations",
      "deleteConfirm": "Are you sure you want to delete this organization?",
      "newName": "New Organization Name",
      "errors": {
        "loadFailed": "Failed to load organizations.",
        "createFailed": "Failed to create the organization.",
        "deleteFailed": "Failed to delete the organization."
      },
      "validation": {
        "nameRequired": "The organization name is required."
      },
      "messages": {
        "created": "Organization created successfully.",
        "deleteConfirm": "Are you sure you want to delete this organization?",
        "deleted": "Organization deleted successfully.",
        "settingsSaved": "Organization settings saved.",
        "loading": "Loading organizations...",
        "empty": "There are no organizations yet. Create one to get started."
      },
      "actions": {
        "new": "New organization",
        "refreshing": "Refreshing...",
        "refresh": "Refresh",
        "creating": "Creating...",
        "create": "Create",
        "cancel": "Cancel",
        "delete": "Delete",
        "deleting": "Deleting..."
      },
      "form": {
        "namePlaceholder": "Organization name"
      },
      "inactive": "Inactive",
      "selectPrompt": "Select an organization to view its details and members.",
      "certificate": {
        "title": "Performance certificate",
        "description": "Monthly performance certificate as an invoice attachment – the month's completed projects summarized by project type.",
        "loading": "Loading data...",
        "noMonths": "No month has any completed (report_ready) projects.",
        "errors": {
          "load": "Failed to load data."
        },
        "pricing": {
          "title": "Unit prices by project type",
          "hint": "HUF / hectare (net)",
          "perHa": "HUF/ha",
          "save": "Save unit prices",
          "saving": "Saving...",
          "saved": "Unit prices saved.",
          "saveFailed": "Failed to save unit prices."
        },
        "generate": {
          "title": "Create certificate",
          "month": "Performance month",
          "projectCount": "{{count}} projects",
          "open": "Open certificate"
        },
        "modal": {
          "title": "Performance certificate",
          "projectCount": "Projects",
          "totalHectares": "Total hectares",
          "total": "Net amount",
          "emptyMonth": "No completed (report_ready) projects this month.",
          "recipients": "Email recipients (leaders)",
          "noLeaders": "No active leader for this organization. Assign a leader to send email.",
          "noRecipients": "Select at least one leader.",
          "print": "Print",
          "download": "Download (PDF)",
          "email": "Email to leaders",
          "sending": "Processing...",
          "generating": "Generating PDF...",
          "generateFailed": "Failed to generate the PDF.",
          "emailSent": "Sent to {{count}} recipients.",
          "emailFailed": "Failed to send the email."
        },
        "doc": {
          "title": "PERFORMANCE CERTIFICATE",
          "docNumber": "Certificate number",
          "issueDate": "Issue date",
          "period": "Performance period",
          "projectCount": "Number of projects",
          "customerLabel": "Customer",
          "issuerLabel": "Issuer",
          "taxId": "Tax number",
          "regNumber": "Registration number",
          "bankAccount": "Bank account",
          "itemsTitle": "Completed projects",
          "emptyMonth": "No completed projects this month.",
          "colProject": "Project name",
          "colType": "Type",
          "colHectares": "Size (ha)",
          "colCreatedBy": "Created by",
          "colApprovedBy": "Approved by",
          "colCost": "Net (HUF)",
          "summaryTitle": "Summary by project type",
          "colUnitPrice": "Unit price (HUF/ha)",
          "colNetSum": "Net amount",
          "grandTotal": "Grand total",
          "netNote": "Amounts shown are net, without VAT.",
          "signIssuer": "on behalf of the service provider",
          "signReceiver": "on behalf of the customer",
          "generatedAt": "Generated",
          "unknownType": "Other / not specified",
          "pcs": "pcs"
        }
      },
      "overview": {
        "title": "Overview",
        "orgCount": "{{count}} active organizations",
        "loading": "Loading overview…",
        "empty": "No data to display.",
        "topByCost": "Highest-cost organizations",
        "errors": {
          "loadFailed": "Failed to load the overview."
        },
        "cards": {
          "totalOrgs": "Organizations",
          "totalMembers": "Members",
          "totalProjects": "Projects",
          "totalCost": "Total cost",
          "pendingApprovals": "Awaiting approval"
        },
        "table": {
          "name": "Organization",
          "members": "Members",
          "planning": "Planning",
          "awaitingApproval": "Awaiting approval",
          "processing": "Processing",
          "reportReady": "Ready",
          "hectares": "Hectares",
          "cost": "Cost",
          "pending": "Pending",
          "lastActivity": "Last activity"
        }
      }
    }
  },
  "projectsMap": {
    "errors": {
      "init": "Error occurred during map initialization"
    },
    "webglNotSupported": "Your browser does not support WebGL, so the project map is unavailable. Please enable WebGL or try a different browser.",
    "labels": {
      "status": "Status",
      "type": "Type",
      "location": "Location"
    },
    "roles": {
      "owner": "Owner",
      "shared": "Shared"
    },
    "actions": {
      "viewProject": "View project"
    },
    "unknown": "Unknown",
    "loading": {
      "projects": "Loading projects...",
      "pleaseWait": "Please wait while we load your projects."
    },
    "noCoords": {
      "title": "You don't have any projects with geolocation yet",
      "body": "Create a flight plan or upload raw imagery to your project for it to appear on the map.",
      "step1": "Open your project",
      "step2": "Create a flight plan or upload images",
      "step3": "The project will appear on the map automatically",
      "warning": "No projects have coordinates. Coordinates can be set during the planning phase."
    },
    "legend": {
      "title": "Project markers"
    }
  },
  "projects": {
    "roles": {
      "owner": "Owner",
      "editor": "Editor",
      "viewer": "Viewer",
      "unknown": "Unknown"
    },
    "labels": {
      "description": "Description",
      "location": "Location",
      "noLocation": "No location",
      "role": "Role",
      "type": "Type",
      "created": "Created"
    },
    "fields": {
      "name": "Project name"
    },
    "actions": {
      "edit": "Edit",
      "cancel": "Cancel",
      "downloadReport": "Download report",
      "details": "Open",
      "move": "Move…"
    }
  },
  "orders": {
    "title": "Orders",
    "loading": "Loading orders...",
    "empty": "No orders yet.",
    "noInvoice": "No invoice file for this project.",
    "invoiceError": "An error occurred while downloading the invoice",
    "copied": "ID copied to clipboard!",
    "copyFailed": "Copy failed",
    "copyId": "Click to copy full ID",
    "downloading": "Downloading...",
    "downloadInvoice": "Download invoice",
    "table": {
      "id": "ID",
      "projectName": "Project name",
      "date": "Order date",
      "amount": "Paid amount",
      "status": "Status"
    },
    "summary": {
      "totalPaid": "Total paid amount",
      "totalHectares": "Total area ({{unit}})",
      "totalProjects": "Total projects"
    }
  },
  "share": {
    "title": "Share project",
    "labels": {
      "message": "Message"
    },
    "placeholders": {
      "search": "Search by name or email",
      "addUser": "Add user",
      "addMore": "Add more users",
      "message": "Write a message..."
    },
    "list": {
      "title": "Who has access"
    },
    "loading": "Loading...",
    "actions": {
      "close": "Close",
      "remove": "Remove",
      "share": "Share",
      "sharing": "Sharing...",
      "revokeTitle": "Revoke access",
      "leave": "Leave project"
    },
    "confirm": {
      "revoke": "Are you sure you want to revoke access for {{email}}?",
      "leaveSelf": "Stop sharing \"{{name}}\" with your account?"
    },
    "messages": {
      "revoked": "Access revoked for {{email}}",
      "roleUpdated": "Role updated for {{email}}: {{role}}",
      "leftSelf": "\"{{name}}\" has been removed from your shared projects."
    },
    "errors": {
      "shareFailed": "Failed to share project",
      "revokeFailed": "Failed to revoke access",
      "updateRoleFailed": "Failed to update role",
      "searchFailed": "Search failed. Please try again.",
      "leaveFailed": "Failed to stop sharing. Please try again."
    },
    "empty": {
      "noResults": "No results"
    },
    "link": {
      "title": "Share link",
      "description": "Create a read-only link that signed-in users can open.",
      "status": {
        "loading": "Loading link...",
        "active": "Active",
        "inactive": "No active link",
        "revoked": "Revoked"
      },
      "copy": "Copy",
      "copySuccess": "Link copied!",
      "generate": "Generate link",
      "generating": "Generating link...",
      "regenerate": "Regenerate link",
      "revoke": "Revoke link",
      "revoking": "Revoking link...",
      "revokedAt": "Last revoked: {{date}}",
      "lastUsed": "Last used: {{date}}",
      "errors": {
        "load": "Failed to load share link.",
        "generate": "Failed to generate share link.",
        "revoke": "Failed to revoke share link.",
        "copy": "Failed to copy to clipboard.",
        "accept": "Failed to join the project."
      },
      "messages": {
        "generated": "Share link created successfully.",
        "regenerated": "Share link regenerated.",
        "revoked": "Share link revoked."
      },
      "loginPrompt": "Please sign in to view this project.",
      "loadingPage": "Checking share link...",
      "invalid": "This share link could not be found or has expired.",
      "revokedLong": "This share link has been revoked by the project owner.",
      "accepting": "Setting up your access...",
      "acceptError": "We couldn't add you to the project. Please try again.",
      "retry": "Try again",
      "backHome": "Back to homepage",
      "projectLabel": "Project: {{name}}",
      "loginButton": "Sign in"
    }
  },
  "billing": {
    "title": "Billing information",
    "type": {
      "title": "Billing type",
      "personal": "Personal",
      "business": "Business"
    },
    "group": {
      "basic": "Basic information",
      "address": "Address"
    },
    "fields": {
      "companyName": "Company name",
      "taxId": "Tax ID",
      "firstName": "First name",
      "lastName": "Last name"
    },
    "placeholders": {
      "companyName": "Company name",
      "taxId": "HU12345678",
      "firstName": "First name",
      "lastName": "Last name",
      "line1": "Street, number",
      "line2": "Floor, door (optional)",
      "postalCode": "Postal code",
      "city": "City"
    }
  },
  "countries": {
    "HU": "Hungary (HU)",
    "RO": "Romania (RO)",
    "SK": "Slovakia (SK)",
    "AT": "Austria (AT)",
    "DE": "Germany (DE)",
    "CZ": "Czechia (CZ)",
    "PL": "Poland (PL)",
    "SI": "Slovenia (SI)",
    "HR": "Croatia (HR)",
    "IT": "Italy (IT)",
    "FR": "France (FR)",
    "ES": "Spain (ES)",
    "GB": "United Kingdom (GB)",
    "US": "United States (US)"
  },
  "notifications": {
    "title": "Notifications",
    "email": "Email notifications",
    "helper": "Receive email updates about your project status, processing progress or payment success.",
    "ariaEmail": "Toggle email notifications"
  },
  "loginRegister": {
    "login": {
      "title": "Login",
      "email": "Email",
      "password": "Password:",
      "rememberMe": "Remember me",
      "forgotPassword": "Forgot password?",
      "loginButton": "Login",
      "loggingIn": "Logging in...",
      "continueWithGoogle": "Continue with Google",
      "continueWithFacebook": "Continue with Facebook",
      "pleaseWait": "Please wait...",
      "or": "or",
      "noAccount": "Don't have an account?",
      "createNow": "Create now",
      "alreadyHaveAccount": "Already have an account?",
      "validation": {
        "emailRequired": "Email is required",
        "emailInvalid": "Email is invalid",
        "passwordRequired": "Password is required"
      },
      "errors": {
        "loginFailed": "Login failed",
        "emailNotVerified": "Please verify your email address before logging in. Check your inbox for the verification link.",
        "userNotFound": "No account with this email address.",
        "wrongPassword": "Incorrect password.",
        "invalidEmail": "Invalid email address.",
        "userDisabled": "This account is disabled.",
        "tooManyRequests": "Too many failed attempts. Please try again later.",
        "genericError": "Login failed. Please try again.",
        "googleLoginFailed": "Google login failed. Please try again.",
        "socialNotImplemented": "{{provider}} login not implemented yet"
      }
    },
    "register": {
      "step1": {
        "title": "Create Account",
        "email": "Email",
        "emailPlaceholder": "Email",
        "registerWithGoogle": "Register with Google",
        "registerWithFacebook": "Register with Facebook",
        "registerWithEmail": "Register with Email",
        "pleaseWait": "Please wait...",
        "or": "or",
        "alreadyHaveAccount": "Already have an account?",
        "login": "Login",
        "validation": {
          "emailRequired": "Email is required",
          "emailInvalid": "Email is invalid"
        },
        "errors": {
          "googleSignupFailed": "Google registration failed. Please try again.",
          "socialNotImplemented": "{{provider}} registration not implemented"
        }
      },
      "step2": {
        "title": "Personal Information",
        "back": "← Back",
        "email": "Email",
        "firstName": "Last name",
        "lastName": "First name",
        "mobile": "Phone number",
        "company": "Company",
        "optional": "(Optional)",
        "referralCode": "Coupon code",
        "referralCodeOptional": "(Optional)",
        "referralCodePlaceholder": "Coupon code",
        "password": "Password",
        "passwordConfirm": "Password (again)",
        "role": "Role",
        "droneOperator": "Drone operator",
        "forestManager": "Forestry specialist",
        "newsletter": "Newsletter subscription",
        "acceptTerms": "I accept the Terms",
        "registerButton": "Register",
        "creatingAccount": "Creating account...",
        "alreadyHaveAccount": "Already have an account?",
        "login": "Login",
        "validation": {
          "emailRequired": "Email is required",
          "emailInvalid": "Email is invalid",
          "firstNameRequired": "Last name is required",
          "lastNameRequired": "First name is required",
          "passwordRequired": "Password is required",
          "passwordPolicyFailed": "Password does not meet requirements",
          "passwordConfirmRequired": "Password confirmation is required",
          "passwordsDoNotMatch": "Passwords do not match",
          "acceptTermsRequired": "You must accept the terms",
          "invalidReferralCode": "Invalid coupon code"
        },
        "passwordPolicy": {
          "title": "Password must contain at least:",
          "uppercase": "one uppercase letter",
          "lowercase": "one lowercase letter",
          "digit": "one digit",
          "minLength": "minimum 8 characters",
          "match": "matching password"
        },
        "status": {
          "checking": "Checking…",
          "codeApplied": "Code applied"
        }
      },
      "step3": {
        "title": "Successful Registration",
        "welcome": "Welcome! Just one step left...",
        "emailSent": "We've sent a verification link to your email address:",
        "clickLink": "Please click the link in the email to activate your account.",
        "emailHelp": "The email will arrive within about 5 minutes. If you don't see it, check your spam or junk folder. Didn't receive the email?",
        "clickToResend": "Click here",
        "sending": "Sending...",
        "resendText": "to resend.",
        "login": "Login",
        "stillHavingIssues": "Still having issues?",
        "contactUs": "Contact us",
        "success": {
          "emailResent": "Verification email resent! Please check your inbox."
        },
        "errors": {
          "resendFailed": "Failed to resend email. Please try registration again.",
          "resendError": "Error occurred while resending email."
        }
      }
    },
    "authActions": {
      "forgotPassword": {
        "title": "Reset Password",
        "back": "← Back",
        "description": "Enter your email address and we'll send you a link to reset your password.",
        "email": "Email",
        "emailPlaceholder": "Enter your email address",
        "sendResetLink": "Send Reset Link",
        "checkEmail": "Check your email",
        "emailSent": "We've sent a password reset link to:",
        "checkInstructions": "Please check your email and follow the instructions to reset your password.",
        "backToLogin": "Back to Login",
        "validation": {
          "emailRequired": "Email is required",
          "emailInvalid": "Email is invalid"
        },
        "errors": {
          "sendFailed": "Could not send reset email."
        }
      },
      "resetPassword": {
        "title": "Reset Password",
        "description": "Please choose a new password that meets the requirements below.",
        "newPassword": "New password",
        "confirmPassword": "Confirm new password",
        "setPassword": "Set new password",
        "validating": "Validating reset link…",
        "success": "Password reset successful. You can close this tab.",
        "passwordPolicy": {
          "title": "Password must contain at least:",
          "uppercase": "one uppercase letter",
          "lowercase": "one lowercase letter",
          "digit": "one numeric character",
          "minLength": "minimum 8 characters",
          "match": "passwords match"
        },
        "validation": {
          "policyFailed": "Password does not meet the policy requirements.",
          "passwordsDoNotMatch": "Passwords do not match."
        },
        "errors": {
          "invalidLink": "Invalid or expired reset link.",
          "setFailed": "Could not set new password."
        }
      },
      "verifyEmail": {
        "verifying": "Verifying email…",
        "success": "Your email has been verified. You can close this tab.",
        "error": "Verification failed."
      },
      "recoverEmail": {
        "processing": "Processing…",
        "success": "Your email address has been restored.",
        "error": "Recovery failed."
      }
    }
  },
  "globalComponents": {
    "languageSelector": {
      "english": "English",
      "hungarian": "Hungarian"
    },
    "button": {
      "defaultText": "Button"
    },
    "card": {
      "defaultTagline": "Tagline",
      "defaultTitle": "Card Title",
      "defaultDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. "
    },
    "deleteConfirmModal": {
      "title": "Delete Project",
      "leadText": "Are you sure you want to delete this project? After deletion, the project will be moved to the trash, from where it will be automatically deleted after 7 days.",
      "confirmLabel": "To confirm deletion, type the project name:",
      "close": "Close",
      "cancel": "Cancel",
      "delete": "Delete",
      "deleting": "Deleting...",
      "validation": {
        "nameMismatch": "Project name does not match!"
      }
    },
    "fileManager": {
      "loading": "Loading files...",
      "title": "Uploaded Files",
      "noFiles": "No uploaded files yet",
      "coveredArea": "Covered area:",
      "viewToggle": {
        "grouped": "Grouped view",
        "list": "List view"
      },
      "deleteAll": "Delete all files",
      "deleteFile": "Delete file",
      "fileTypes": {
        "images": "Images",
        "pdf": "PDF documents",
        "pointCloud": "Point cloud files",
        "spreadsheets": "Spreadsheets",
        "other": "Other files"
      },
      "units": {
        "bytes": "Bytes",
        "kb": "KB",
        "mb": "MB",
        "gb": "GB"
      },
      "dataCleanedNotice": "Uploaded files have been automatically removed after the 90-day retention period."
    },
    "fileUpload": {
      "clickToUpload": "Click to upload",
      "dragAndDrop": "or drag and drop",
      "supportedFormats": "Images, PDFs, or spreadsheets (max 50MB)",
      "uploading": "Uploading...",
      "validation": {
        "fileTooLarge": "File size must be less than 50MB",
        "unsupportedType": "File type not supported. Please upload images, PDFs, or spreadsheets."
      }
    },
    "notificationOverlay": {
      "close": "Close",
      "viewProject": "View project",
      "defaultTitle": "Notification"
    },
    "dualSlider": {
      "min": "{{min}}",
      "max": "{{max}}"
    },
    "flightParametersWarning": {
      "title": "Flight Parameters Setup",
      "intro": "Please make sure to set the flight parameters as specified! Measurement accuracy depends on this.",
      "parametersTitle": "Use the following parameters when planning your flight:",
      "understood": "I understand"
    }
  },
  "phases": {
    "chartCard": {
      "expandButton": "Expand",
      "closeButton": "Close"
    },
    "customFormula": {
      "title": "Custom Formula",
      "description": "Create your own tree mass formula. You can use D (diameter, cm) and H (height, m) variables, as well as arbitrary p1…pN constants.",
      "formulaName": "Formula name",
      "formulaNamePlaceholder": "e.g. Robinia – sopp",
      "savedFormulas": "Saved formulas",
      "selectFormula": "Select...",
      "formula": "Formula",
      "formulaPlaceholder": "v = ...",
      "defaultVarD": "diameter (cm)",
      "defaultVarH": "height (m)",
      "variables": "Variables (name=value)",
      "variableName": "Name",
      "variableValue": "Value",
      "addVariable": "+ Add variable",
      "explanation": "Explanation:",
      "explanationText": "The formula can use D (cm), H (m) and p1..pN constants. Example: v = (p1 + p2*D*H + p3*D + p4*H) * (H/(H-1.3)) * k * D^2 * H / 10^8",
      "cancel": "Cancel",
      "save": "Save",
      "close": "Close"
    },
    "payment": {
      "title": "Payment and Pricing",
      "currency": "Currency:",
      "plannedArea": "Planned area",
      "measuredArea": "Measured area",
      "usedForCalculation": "Used for calculation",
      "basedOnPlanned": "(based on planned)",
      "basedOnMeasured": "(based on measured)",
      "couponCode": "Coupon code",
      "couponPlaceholder": "E.g: PARTNER10",
      "validating": "Validating...",
      "refresh": "Refresh",
      "clear": "Clear",
      "validatingCode": "Validating code...",
      "serviceType": "Sensing technology",
      "requestedServices": "Requested services",
      "totalAmount": "Total amount",
      "firstFreeHectares": "First {{limit}} hectares free. Amount due: {{amount}}",
      "listPrice": "List price: {{price}} /{{unit}} × {{area}}",
      "minimumPriceLimit": "Minimum payable fee",
      "unitPrice": "Total unit price: {{price}} /{{unit}} × {{area}}",
      "referralDiscount": "Referral discount: -{{percent}}%",
      "firstPurchasePromoBadge": "First purchase promo",
      "firstPurchasePromoLine": "First purchase promo ({{hectares}} ha): -{{value}}",
      "firstPurchasePromoUsed": "Your account has already used the first purchase promotion.",
      "stripeMinimumApplied": "Stripe's minimum charge ({{minimum}}) sets the payable amount to 0.",
      "priceNote": "Base currency: EUR, current display: {{currency}}.",
      "paid": "Paid",
      "networkError": "Network error. Please try again.",
      "applied": "Applied: -{{percent}}%",
      "areaUnavailable": "We couldn't determine the area from the uploaded data. Please add the planned area or upload files that contain GPS data.",
      "coveredUnavailable": "The measured area could not be determined (0 ha). Please upload files with GPS coordinates so we can calculate the charge correctly.",
      "noServiceSelected": "No service selected."
    },
    "planningMap": {
      "legendDrawnArea": "Selected survey area",
      "legendBufferZone": "Recommended flight area",
      "legendFlightPath": "Flight pattern",
      "searchPlaceholder": "Search (place or lat,lng)...",
      "search": "Search",
      "searchTitle": "Search on map",
      "polygons": "Polygons: {{count}}",
      "totalArea": "Total: {{area}}",
      "kmlExport": "KML export",
      "kmlExportDescription": "Export the selected area as a KML file and drop it into the mission-planning app of your choice. You can choose to export the selected area or the extended flight area with the 20-meter buffer. You still need to configure the flight parameters manually!",
      "exportTitle": "Export to KML format",
      "clearAll": "Clear all",
      "clearTitle": "Clear all drawn elements",
      "mapUsage": "Map usage",
      "drawingPolygon": "Drawing polygon",
      "polygonButton": "Polygon button:",
      "polygonLocation": "Top right corner of map",
      "newArea": "New area:",
      "newAreaInstruction": "Click to select corners",
      "finish": "Finish:",
      "finishInstruction": "Double click to close",
      "navigation": "Navigation",
      "browse": "Browse:",
      "browseInstruction": "Drag the map",
      "zoom": "Zoom:",
      "zoomInstruction": "Scroll wheel or +/- buttons",
      "edit": "Edit:",
      "editInstruction": "Click on an area",
      "locationTitle": "Get current location",
      "navigationTitle": "Navigation mode (browse and edit)",
      "noExportData": "No drawn elements to export!",
      "kmlDownloaded": "KML file successfully downloaded!",
      "exportError": "Error occurred during KML export: {{error}}",
      "locationError": "Geolocation is only available over HTTPS for security reasons.",
      "locationNotSupported": "Geolocation is not supported in this browser.",
      "locationSuccess": "Successfully navigated to your position: {{lat}}, {{lng}}",
      "locationDenied": "Location access denied. Please enable in browser and check if AdBlocker is not enabled.",
      "locationUnavailable": "Location information unavailable. Try disabling AdBlocker or use search instead.",
      "locationTimeout": "Location query timeout. Check your internet connection.",
      "locationErrorGeneric": "Geolocation error. Use search function with coordinates instead (e.g. 47.4979, 19.0408).",
      "searchError": "Please enter a search term or coordinates.",
      "webglNotSupported": "Your browser does not support WebGL, so the map cannot be displayed. Please enable WebGL or try a different browser.",
      "invalidCoordinates": "Invalid coordinates. Latitude: between -90 and 90, Longitude: between -180 and 180.",
      "coordinateNavigation": "Navigate to coordinates: {{lat}}, {{lng}}",
      "placeNotFound": "No such location found. Try rephrasing or use coordinates (e.g. 47.4979, 19.0408).",
      "searchNetworkError": "Error occurred during search. Check your internet connection.",
      "navigationTo": "Navigate to: {{place}}",
      "kmlImport": "KML import",
      "importTitle": "Import KML file to map",
      "importSuccess": "{{count}} area(s) successfully imported!",
      "importError": "Error occurred during KML import: {{error}}",
      "importParseError": "Failed to parse KML file. Please check if it's a valid KML file.",
      "importNoPolygons": "The KML file does not contain any polygons.",
      "navigateToArea": "Navigate",
      "navigationButtonTitle": "Get directions to the selected area",
      "noNavigationData": "No area selected for navigation!",
      "exportModal": {
        "title": "Export Area",
        "description": "Choose which area you would like to download as a KML file.",
        "originalArea": "Selected Area",
        "originalDescription": "Export only the selected polygon(s)",
        "bufferedArea": "Flight Area (+20m)",
        "bufferedDescription": "Export the selected area + 20 meter flight buffer",
        "cancel": "Cancel"
      }
    },
    "planningPhase": {
      "flightParameters": "Flight Parameters",
      "flightParametersDescriptionLine1": "Specify the drone type used for the flight and rely on the parameters below when you create the flight plan.",
      "flightParametersDescriptionLine2": "You can plan the mission in DJI Pilot 2, DroneDeploy or any other mission-planning software. Make sure you apply the flight parameters provided here!",
      "dataQuality": "Data capture quality is the pilot's responsibility. Use the prescribed parameters for desired results.",
      "dataCaptureMode": "Data capture mode",
      "selectOption": "Select...",
      "photogrammetry": "Photogrammetry",
      "lidar": "LiDAR",
      "droneCamera": "Drone / camera",
      "flightAltitude": "Flight altitude",
      "frontOverlap": "Front overlap (%)",
      "sideOverlap": "Side overlap (%)",
      "gimbalAngle": "Gimbal angle (°)",
      "terrainAwareness": "Terrain awareness",
      "crosshatch3D": "3D crosshatch",
      "oblique5": "Flight pattern",
      "flightSpeed": "Flight speed",
      "lidarAcquisitionMode": "3D crosshatch",
      "returnMode": "Return mode",
      "samplingRate": "Sampling rate (KHz)",
      "rgbColor": "RGB color",
      "directionSuffix": "way crosshatch",
      "locationInfo": "Location information",
      "locationDescription": "Location description",
      "locationPlaceholder": "e.g. Budapest, II. district, Buda Hills",
      "forestCode": "Forest code",
      "forestCodePlaceholder": "Kosd 13/D",
      "latitude": "Latitude (°)",
      "longitude": "Longitude (°)",
      "latitudePlaceholder": "47.5316",
      "longitudePlaceholder": "19.0261",
      "plannedArea": "Planned area (calculated from map)",
      "calculatedField": "This value is automatically calculated based on polygons selected on the map",
      "areaMarking": "Area marking on map",
      "areaMarkingDescription": "Mark the area you want to survey on the map. A red 20-meter flight buffer automatically appears around the selected area, indicating the recommended flight zone. When exporting, you can choose to download the selected area only or the extended flight area.",
      "mapDataRequired": "Please select an area on the map to proceed.",
      "basicInfoRequired": "Project name and description are required. Please provide them in the Basic Information section above.",
      "dataTypeRequired": "Please select data capture mode.",
      "deviceTypeRequired": "Please select camera/payload.",
      "invalidLatitude": "Invalid latitude",
      "invalidLongitude": "Invalid longitude",
      "invalidArea": "Invalid area value",
      "unsavedChanges": "Unsaved changes",
      "saving": "Saving...",
      "saved": "Successfully saved",
      "cancel": "Cancel",
      "save": "Save",
      "nextToUpload": "Next to upload",
      "loading": "Loading...",
      "readOnlyInfo": "This phase is already closed. Data is read-only."
    },
    "reportingMap": {
      "viewPointCloud": "View Tree",
      "noLayer": "No layer",
      "workAreaLayer": "Work area",
      "dtmLayer": "Digital terrain model",
      "dsmLayer": "Digital surface model",
      "elevationLegend": {
        "title": "Elevation",
        "unit": "m",
        "noData": "No elevation data"
      },
      "tools": {
        "polygon": "Area measurement",
        "ruler": "Distance measurement",
        "point": "Elevation query",
        "clearAll": "Clear all measurements",
        "exportPolygons": "Export polygons",
        "rename": "Rename",
        "delete": "Delete",
        "area": "Area",
        "distance": "Distance",
        "elevation": "Elevation",
        "ofTotal": "of total area",
        "measurements": "Measurements",
        "polygonName": "Polygon name",
        "enterName": "Enter a name...",
        "pointElevation": "Elevation at point",
        "noElevationLayer": "Enable a DTM or DSM layer to query elevation"
      },
      "chmLayer": "Canopy height model",
      "layerOpacity": "Layer opacity",
      "webglNotSupported": "Interactive map is unavailable on this device (WebGL is not supported).",
      "treeId": "ID:",
      "height": "Height:",
      "diameter": "Diameter:",
      "volume": "Gross volume:",
      "basalArea": "Basal area:",
      "meters": "m",
      "centimeters": "cm",
      "cubicMeters": "m³",
      "squareMeters": "m²",
      "crownDiameter": "Crown Ø:",
      "estimated": "(est.)",
      "area": "Area",
      "length": "Length",
      "exportKML": "Export KML",
      "navigate": "Navigate",
      "polygon": "Polygon",
      "line": "Distance",
      "pin": "Height Pin",
      "shapeName": "Shape Name",
      "estimatedDisclaimer": "≈ Diameter, volume, and basal area are estimated.",
      "heightHeatmap": "Tree height heatmap",
      "diameterHeatmap": "Tree diameter heatmap",
      "countHeatmap": "Tree count heatmap",
      "measurements": {
        "title": "Measurements",
        "area": "Area",
        "distance": "Distance",
        "elevation": "Elevation",
        "shape": "Shape",
        "namePlaceholder": "Shape name…",
        "renameHint": "Click to rename"
      },
      "annotations": {
        "unsaved": "Unsaved drawings",
        "saveTitle": "Save drawings to the project"
      },
      "selectElevationLayerFirst": "Select a DTM, DSM or CHM layer for elevation.",
      "elevationDataMissing": "No raw elevation data for this layer.",
      "elevationSourceLoading": "loading source file…",
      "elevationSourceLoadFailed": "Could not load the elevation source file.",
      "noDataAtPoint": "No data at this point (NoData).",
      "pointOutsideLayer": "The point is outside the layer area.",
      "elevationQueryError": "Error querying elevation.",
      "crownDiameterHeatmap": "Crown diameter heatmap",
      "heightDistribution": "Tree height distribution",
      "diameterDistribution": "Tree diameter distribution",
      "heightDiameterCorrelation": "Height and diameter correlation",
      "insufficientCoordinateData": "Insufficient coordinate data for heatmap generation",
      "insufficientDiameterData": "Insufficient coordinate data for diameter heatmap generation",
      "insufficientCountData": "Insufficient coordinate data for count heatmap generation",
      "loadingHeightData": "Loading height data...",
      "loadingDiameterData": "Loading diameter data...",
      "insufficientScatterData": "Not enough data for scatter plot.",
      "treeCount": "Number of trees",
      "heightCategory": "Height category",
      "diameterCategory": "Diameter category",
      "treeLocationMap": "Tree locations on map",
      "treeLocationMapDescription": "Location of individual trees (measured trees) on an interactive map. You can freely choose between terrain model, crown model, or orthophoto layers on the map.",
      "layerMap": "Layers on map",
      "mapDescriptionDtmOrtho": "Interactive map of the area. You can freely select the Digital Terrain Model or Orthophoto layer.",
      "loadingMap": "Loading map...",
      "projectFiles": "Project files",
      "downloadAll": "Download all",
      "downloading": "Downloading...",
      "downloadFile": "Download file",
      "noProjectFiles": "No project files available.",
      "noReportAvailable": "No report available.",
      "noData": "No data",
      "fileTypes": {
        "layers": "Layers",
        "images": "Images",
        "pdf": "PDF documents",
        "pointCloud": "Point cloud files",
        "reports": "Report files",
        "other": "Other files"
      },
      "errors": {
        "accessDenied": "You don't have permission to access project files.",
        "projectNotFound": "Project not found or no access.",
        "loadError": "Error occurred while loading files: {{error}}",
        "downloadAccessDenied": "You don't have permission to download the file.",
        "fileNotFound": "File not found.",
        "downloadError": "Error occurred while downloading file: {{error}}",
        "processingError": "Error occurred while processing file: {{error}}",
        "fileDownloadError": "Error occurred while downloading file: {{error}}",
        "partialDownload": "{{success}} files downloaded, {{failed}} files failed. Check console for details.",
        "downloadAllError": "Error occurred while downloading files: {{error}}"
      },
      "legend": {
        "measuredTrees": "Measured trees",
        "detectedTrees": "Detected trees",
        "crownDiameter": "Crown diameter",
        "toggleCrown": "Show/hide crown diameter"
      },
      "loadingLayers": "Loading layers...",
      "searchPlaceholder": "Search Tree ID...",
      "searchNoResult": "No tree found with this ID",
      "clearSearch": "Clear",
      "hotspotId": "Hotspot ID",
      "temperature": "Temperature",
      "kmlExport": "Download KML",
      "reprocessing": "Reprocessing..."
    },
    "reportingPhase": {
      "areaPointCloudTitle": "Area point cloud",
      "areaPointCloudDesc": "View the simplified point cloud of the surveyed area. Loading may take time due to larger file size.",
      "loadAreaPointCloud": "Load point cloud",
      "transferToEszr": "Transfer to ESZR system",
      "reportGeneration": "Report Generation",
      "processing": "Processing...",
      "dataProcessing": "Data processing in progress",
      "processingDescription": "Processing of drone footage and survey data is currently underway.",
      "processingTime": "Results will be available within approximately 24-48 hours.",
      "report": "Report",
      "rejected": "Rejected",
      "processingFailed": "Processing failed",
      "processingFailedDescription": "A problem occurred during processing of uploaded data.",
      "processingFailedAction": "Please check the files and try again.",
      "error": "Error",
      "loadingReport": "Loading report...",
      "summary": "Summary",
      "summaryDescription": "Summary metrics for the surveyed area.",
      "detectedTrees": "Tree count",
      "measuredTrees": "Measured trees",
      "totalVolume": "Total gross volume",
      "averageHeight": "Average height",
      "averageDiameter": "Average diameter",
      "totalBasalArea": "Total basal area",
      "volumePerHectare": "Gross volume / {{unit}}",
      "basalAreaPerHectare": "Basal area / {{unit}}",
      "averageTreesPerHectare": "Average trees / {{unit}}",
      "averageBasalArea": "Average basal area",
      "averageCrownDiameter": "Average crown diameter",
      "surveyedArea": "Surveyed Area",
      "coveredArea": "Covered Area",
      "hotspotCount": "Hotspot Count",
      "species": "Species",
      "visualizations": "Visualizations",
      "heightHeatmap": "Tree height heatmap",
      "diameterHeatmap": "Tree diameter heatmap",
      "countHeatmap": "Tree count heatmap",
      "crownDiameterHeatmap": "Crown diameter heatmap",
      "heightDistribution": "Tree height distribution",
      "diameterDistribution": "Tree diameter distribution",
      "heightDiameterCorrelation": "Height and diameter correlation",
      "insufficientCoordinateData": "Insufficient coordinate data for heatmap generation",
      "insufficientDiameterData": "Insufficient coordinate data for diameter heatmap generation",
      "insufficientCountData": "Insufficient coordinate data for count heatmap generation",
      "loadingHeightData": "Loading height data...",
      "loadingDiameterData": "Loading diameter data...",
      "insufficientScatterData": "Not enough data for scatter plot.",
      "treeCount": "Number of trees",
      "heightCategory": "Height category",
      "diameterCategory": "Diameter category",
      "trees": "Trees",
      "trend": "Trend",
      "average": "Average",
      "median": "Median",
      "points": "Points",
      "treeLocationMap": "Tree locations on map",
      "measurementLocationMap": "Measurement location on map",
      "height": "Height",
      "diameter": "Diameter",
      "meters": "m",
      "centimeters": "cm",
      "loadingMap": "Loading map...",
      "projectFiles": "Project files",
      "uploadTilesZip": "Upload orthophoto tiles (ZIP)",
      "uploadTilesZipDesc": "Metashape XYZ tile export folder packed as .zip. The layer is detected from the file name: _ORTO.zip, _DTM.zip, _DSM.zip, _CHM.zip, _NDVI.zip, _THERMAL.zip. Multiple ZIP files can be selected at once.",
      "uploadBtn": "Select",
      "tileUploadFailed": "Error during upload: ",
      "downloadAll": "Download all",
      "downloading": "Downloading...",
      "downloadFile": "Download file",
      "noProjectFiles": "No project files available.",
      "noReportAvailable": "No report available.",
      "noData": "No data",
      "cubicMeters": "m³",
      "squareMeters": "m²",
      "fileTypes": {
        "layers": "Layers",
        "images": "Images",
        "pdf": "PDF documents",
        "pointCloud": "Point cloud files",
        "reports": "Report files",
        "other": "Other files"
      },
      "errors": {
        "accessDenied": "You don't have permission to access project files.",
        "projectNotFound": "Project not found or no access.",
        "loadError": "Error occurred while loading files: {{error}}",
        "downloadAccessDenied": "You don't have permission to download the file.",
        "fileNotFound": "File not found.",
        "downloadError": "Error occurred while downloading file: {{error}}",
        "processingError": "Error occurred while processing file: {{error}}",
        "fileDownloadError": "Error occurred while downloading file: {{error}}",
        "partialDownload": "{{success}} files downloaded, {{failed}} files failed. Check console for details.",
        "downloadAllError": "Error occurred while downloading files: {{error}}"
      },
      "viewPointCloud": "View Point Cloud",
      "processingStatus": {
        "waiting": "Your data has arrived, processing will begin shortly.",
        "metashape_processing": "Building 3D point cloud from images.",
        "metashape_done": "3D point cloud is ready, starting tree analysis.",
        "r_processing": "Analyzing trees, compiling final report.",
        "error": "Oops, something went wrong! Our team will contact you shortly.",
        "multispectral": {
          "metashape_processing": "Generating orthophoto.",
          "metashape_done": "Orthophoto is ready.",
          "r_processing": "Orthophoto is ready, the report will be finished soon."
        },
        "thermal": {
          "metashape_processing": "Processing thermal images, detecting heat signatures.",
          "metashape_done": "Processing thermal images, detecting heat signatures.",
          "r_processing": "Processing thermal images, detecting heat signatures."
        },
        "lidar": {
          "metashape_processing": "Reviewing LiDAR point cloud classification, applying necessary adjustments.",
          "metashape_done": "3D point cloud validated, starting tree analysis."
        },
        "tree_count": {
          "metashape_processing": "Building 3D point cloud from images.",
          "metashape_done": "3D point cloud is ready, starting tree detection.",
          "r_processing": "Detecting and counting trees, compiling final report."
        },
        "dtm_ortho": {
          "metashape_processing": "Generating terrain model and orthophoto.",
          "metashape_done": "Terrain model and orthophoto generated, finalizing outputs.",
          "r_processing": "Terrain model and orthophoto are ready, the report will be finished soon."
        }
      }
    },
    "saveToast": {
      "saving": "Saving...",
      "saved": "Successfully saved",
      "unsavedChanges": "Unsaved changes",
      "cancel": "Cancel",
      "save": "Save"
    },
    "uploadingPhase": {
      "flightData": "Flight Data",
      "flightDate": "Flight date",
      "weatherConditions": "Weather conditions",
      "selectWeather": "Select...",
      "sunny": "Sunny",
      "cloudy": "Cloudy",
      "rainy": "Rainy",
      "pilotName": "Pilot name",
      "pilotPlaceholder": "Name",
      "rawMaterialsUpload": "Raw materials upload",
      "retentionNotice": "(Raw data will be deleted 90 days after upload)",
      "dragFiles": "Drag files here or click to browse",
      "releaseFiles": "Release files here...",
      "supportedFormats": "Supported formats: JPG, PNG, TIFF, LAS (max. 20GB)",
      "autoUpload": "Files will be uploaded automatically",
      "uploading": "Uploading ({{count}})",
      "uploaded": "Uploaded",
      "pending": "Pending",
      "removeFile": "Remove file",
      "uploadProgress": "{{percent}}% uploaded",
      "cancelUpload": "Cancel upload",
      "uploadCancelled": "Upload cancelled",
      "forestParameters": "Forest parameters",
      "forestParametersDescription": "Provide the approximate forest parameters to make the processing more accurate!",
      "species": "Species",
      "selectSpecies": "Select...",
      "massFormula": "Tree mass calculation formula",
      "selectFormula": "Select...",
      "heightDiameter": "Height and diameter determination only",
      "diameterBased": "Sopp mass table (widely used in Hungary)",
      "schumacherHall": "Schumacher-Hall type equation",
      "formFactor": "Form factor method (Formzahlmethode)",
      "allometric": "Allometric method",
      "pointCloudFitting": "Segmented log fitting on point cloud",
      "customFormula": "Custom formula...",
      "editFormula": "Edit formula",
      "minMaxHeight": "Minimum, maximum tree height ({{unit}})",
      "minMaxDiameter": "Minimum, maximum trunk diameter ({{unit}})",
      "forestDensity": "Forest density",
      "selectDensity": "Select...",
      "density1": "1 - ~trees every 2 m",
      "density2": "2 - ~trees every 4 m",
      "density3": "3 - ~trees every 6 m",
      "canopy": "Canopy (was there during recording?)",
      "canopyNo": "No",
      "canopyYes": "Yes",
      "canopyWarning": "With canopy data recording, complete forest inventory cannot be created.",
      "notes": "Notes",
      "notesPlaceholder": "Free text notes for forest parameters...",
      "paymentProcessing": "Payment and processing start",
      "payment": "Payment…",
      "startProcessing": "Start processing",
      "processingStarting": "Starting processing...",
      "noPermission": "You currently don't have permission to start processing.",
      "readOnlyInfo": "This phase is already closed. Data is read-only.",
      "speciesOptions": {
        "akac": "Black locust",
        "bukk": "Beech",
        "cser": "Turkey oak",
        "feketeDio": "Black walnut",
        "gyertyan": "Hornbeam",
        "juharok": "Maples",
        "kocsanyosTolgy": "Pedunculate oak",
        "kocsanytalanTolgy": "Sessile oak",
        "koris": "Ash",
        "vorosTolgy": "Red oak",
        "agatheFNyar": "Agathe-F poplar",
        "eger": "Alder",
        "feherFuz": "White willow",
        "feherNyar": "White poplar",
        "feketeNyar": "Black poplar",
        "harsak": "Linden trees",
        "i214Nyar": "I-214 poplar",
        "kesoiNyar": "Late poplar",
        "koraiNyar": "Early poplar",
        "kozonsegesNyir": "Common birch",
        "oriasNyar": "Giant poplar",
        "rezgoNyar": "Trembling poplar",
        "duglaszfenyo": "Douglas fir",
        "erdeifenyo": "Scots pine",
        "feketefenyo": "Black pine",
        "jegenyefenyo": "Silver fir",
        "lucfenyo": "Norway spruce",
        "vorosfenyo": "Red pine"
      },
      "fileTypes": {
        "images": "Images",
        "pdf": "PDF documents",
        "pointCloud": "Point cloud files",
        "spreadsheets": "Spreadsheets",
        "other": "Other files"
      },
      "validation": {
        "filesRequired": "At least one file upload is required",
        "flightDateRequired": "Flight date is required",
        "weatherRequired": "Please select weather",
        "speciesRequired": "Species specification is required",
        "massFormulaRequired": "Tree mass calculation formula selection is required",
        "canopyRequired": "Please specify if there was canopy during recording",
        "pointCloudNotGeoreferenced": "Only georeferenced point clouds can be uploaded. Please ensure your LAS file contains WGS84 geographic coordinates."
      },
      "errors": {
        "uploadCancelled": "Upload cancelled",
        "uploadCancelledByUser": "Upload cancelled by user",
        "unsupportedFileType": "Unsupported file type: {{extension}}",
        "fileTooLarge": "File too large. Maximum: 20 GB",
        "saveError": "Error during save!",
        "saveSuccess": "Parameters successfully saved!",
        "checkoutError": "Total amount is 0. Please select a service.",
        "billingAddressRequired": "Please provide billing address on Profile page (street, city, postal code, country).",
        "loginRequired": "You must be logged in to pay.",
        "checkoutSessionError": "Error creating payment session ({{status}})",
        "stripeUrlError": "Stripe URL not returned.",
        "checkoutStartError": "Error occurred during payment start",
        "areaUnavailable": "We couldn't determine the area from the uploaded data, so the payment can't be started. Please add a planned area or upload files with GPS data.",
        "noPaymentRequired": "No payment is required after applying the promotion. Please contact the TreeSense team to finalise processing.",
        "validationRequired": "Please run the Data Quality check before proceeding to payment.",
        "validationRequiredProcessing": "Please run the Data Quality check before starting processing."
      }
    },
    "projectPhaseManager": {
      "basicInfo": {
        "title": "Project basic information",
        "projectName": "Project name",
        "location": "Location",
        "description": "Project description",
        "doubleClickToEdit": "Double click to edit",
        "clickToEdit": "Click here to edit..."
      },
      "phases": {
        "planning": "Plan",
        "uploading": "Upload",
        "reporting": "Results"
      },
      "navigation": {
        "backToDashboard": "Back to Dashboard",
        "projects": "Projects",
        "goToDashboard": "Go to Dashboard",
        "project": "Project",
        "goTo": "Go to: {{phase}}",
        "phaseClosed": "This phase is already closed",
        "deleteProject": "Delete project"
      },
      "roles": {
        "viewer": "Viewer",
        "editor": "Editor",
        "admin": "Admin"
      },
      "labels": {
        "dataType": "Data Capture Mode",
        "droneType": "Drone/Camera",
        "location": "Location",
        "plannedArea": "Planned Area",
        "flightDate": "Flight Date",
        "coveredArea": "Covered Area",
        "fileCount": "File Count",
        "species": "Species",
        "massFormula": "Mass Formula",
        "services": "Requested Services",
        "totalPrice": "Total Price",
        "detectedTrees": "Tree count",
        "measuredTrees": "Measured Trees",
        "totalVolume": "Total Gross Volume",
        "totalBasalArea": "Total Basal Area",
        "volumePerHectare": "Gross volume/{{unit}}",
        "basalAreaPerHectare": "Basal Area/{{unit}}",
        "avgTreesPerHectare": "Avg Trees/{{unit}}",
        "avgHeight": "Avg Height",
        "avgDiameter": "Avg Diameter",
        "avgBasalArea": "Avg Basal Area",
        "avgCrownDiameter": "Avg Crown Diameter",
        "surveyedArea": "Surveyed Area",
        "hotspotCount": "Hotspot Count"
      },
      "quickStats": {
        "settings": "Settings",
        "displayedFeatures": "Displayed features",
        "close": "Close",
        "plan": "Plan",
        "upload": "Upload",
        "results": "Results",
        "setAsDefault": "Set as default",
        "save": "Save",
        "more": "More",
        "less": "Less",
        "openPhase": "Open: {{phase}}"
      },
      "success": {
        "phaseChanged": "Phase successfully changed and saved to database!",
        "basicInfoSaved": "Basic information successfully saved to database!",
        "submittedForApproval": "Project submitted for approval. Processing will start once a manager approves it."
      },
      "errors": {
        "invalidTransition": "Invalid phase transition",
        "notLoggedIn": "Not logged in",
        "phaseChangeFailed": "Error occurred while saving phase change to database",
        "saveFailed": "Error occurred while saving data to database",
        "basicInfoSaveFailed": "Error occurred while saving basic information to database",
        "unknownPhase": "Unknown phase: {{phase}}",
        "phaseNotSupported": "This phase is not supported."
      }
    },
    "fileValidation": {
      "title": "Data Quality Report",
      "images": "images",
      "allChecksPassed": "All checks passed",
      "sensorCamera": "Sensor / Camera",
      "altitude": "Altitude",
      "altitudeOverTime": "Flight Altitude Profile",
      "altitudeAvg": "Average",
      "timeDuration": "Time & Duration",
      "firstImage": "First image",
      "lastImage": "Last image",
      "flightDuration": "Duration",
      "overlap": "Estimated Overlap",
      "overlapAvg": "Average",
      "angles": "Gimbal Angles",
      "anglePitch": "Pitch",
      "isoValues": "ISO Values",
      "gpsCoverage": "GPS Coverage",
      "coveredArea": "Covered area",
      "plannedArea": "Planned area",
      "coveragePercent": "Coverage",
      "imageSummary": "Image Summary",
      "totalImages": "Total images",
      "totalSize": "Total size",
      "avgFileSize": "Avg file size",
      "pointCloudValidation": "Point Cloud Validation",
      "pcFormat": "Format",
      "pcCrs": "CRS",
      "pcPoints": "Points",
      "pcEstimatedDensity": "Est. density",
      "pcPointsPerSqm": "pts/m²",
      "detailTable": "Detailed File Table",
      "colFileName": "Filename",
      "colAltitude": "Alt (m)",
      "colISO": "ISO",
      "colExposure": "Exposure",
      "colLatitude": "Latitude",
      "colLongitude": "Longitude",
      "colGimbalPitch": "Pitch",
      "warnings": {
        "noGps": "{{percent}}% of images have no GPS coordinates ({{count}}/{{total}})",
        "altitudeVariation": "Flight altitude variation > {{threshold}}m (std dev: {{std}}m)",
        "highIso": "{{count}} image(s) with ISO > {{threshold}} - may produce noisy images",
        "isNadir": "Camera gimbal is pointing nadir (avg pitch: {{avg}}°)",
        "pitchMismatch": "Camera pitch ({{avg}}°) deviates from planned ({{target}}°)",
        "mixedCameras": "Multiple camera models detected - may affect processing consistency",
        "timeGap": "Gap of {{gap}} min detected between consecutive images",
        "fewImages": "Only {{count}} images uploaded - minimum recommended: {{min}}",
        "lowOverlap": "Estimated average overlap is {{avg}}% - recommended: >{{target}}%",
        "pcNoCrs": "Point cloud has no CRS - may not be georeferenced",
        "lowCoverage": "GPS coverage of the planned area is low: {{percent}}%. You can modify the designated area in the Planning phase.",
        "dataOutsidePlanned": "{{percent}}% of the captured data falls outside the planned area - calculations will only use data within the planned boundary. You can modify the designated area in the Planning phase.",
        "wrongCrsDistance": "The point cloud is ~{{distance}} km away from the planned area. Please check if the correct coordinate reference system (CRS) was set during export."
      },
      "modalTitle": "Data Quality Issues Detected",
      "modalDescription": "The following issues were found in the uploaded data. Please review them before proceeding to payment.",
      "modalDescriptionProcessing": "The following issues were found in the uploaded data. Please review them before sending for processing.",
      "modalCancel": "Go Back",
      "modalProceed": "Proceed Anyway",
      "modalProceedProcessing": "Send for processing",
      "runValidation": "Run Validation",
      "reRun": "Re-run",
      "pendingValidation": "Click \"Run Validation\" to analyze the data quality of your uploaded files.",
      "noFilesYet": "Upload your files to check data quality.",
      "extractionSummary": "Extracted Data",
      "timestamp": "Timestamp",
      "gimbalPitch": "Pitch",
      "extracted": "Extracted",
      "missing": "Missing",
      "files": "files",
      "mapLegendPlanned": "Planned area",
      "mapLegendCovered": "Covered area",
      "mapLegendLidar": "Point cloud area",
      "mapLegendGpsImages": "GPS images"
    }
  },
  "pdfExport": {
    "title": "Customize PDF Report",
    "sectionsTitle": "Report Sections",
    "selectAll": "Select all",
    "generateButton": "Generate PDF Report",
    "cancel": "Cancel",
    "generating": "Generating...",
    "selectAtLeastOne": "Please select at least one item!",
    "close": "Close",
    "errorGenerating": "An error occurred while generating the PDF.",
    "mapCaptureError": "Map capture failed. Please make sure the map is fully loaded!",
    "currentView": "Current view",
    "additionalStatistics": "Additional Statistics",
    "sections": {
      "summary": "Summary"
    },
    "copyright": "© {{year}} {{brandName}}. All rights reserved."
  },
  "confirmModal": {
    "title": "Confirmation",
    "message": "Are you sure you want to continue?",
    "confirm": "Yes",
    "cancel": "Cancel",
    "close": "Close"
  },
  "potree": {
    "controls": {
      "rotate": "Rotate",
      "pan": "Pan",
      "zoom": "Zoom",
      "leftClick": "Left Click",
      "rightClick": "Right Click",
      "scroll": "Scroll"
    },
    "close": "Close",
    "fullscreen": "Fullscreen",
    "tree": "Tree",
    "height": "Height",
    "diameter": "Diameter",
    "volume": "Volume",
    "crownDiameter": "Crown Diameter"
  },
  "species": {
    "lucfenyő": "Norway Spruce",
    "erdeifenyő": "Scots Pine",
    "tölgy": "Oak",
    "kocsányostölgy": "Pedunculate Oak",
    "kocsánytalan_tölgy": "Sessile Oak",
    "bükk": "European Beech",
    "gyertyán": "Hornbeam",
    "akác": "Black Locust",
    "nyár": "Poplar",
    "fűz": "Willow",
    "hárs": "Linden",
    "juhar": "Maple",
    "kőris": "Ash",
    "nyír": "Birch",
    "éger": "Alder",
    "vörösfenyő": "European Larch",
    "jegenyefenyő": "Silver Fir",
    "duglászfenyő": "Douglas Fir",
    "fekete_fenyő": "Black Pine",
    "vegyes": "Mixed",
    "i-214_nyár": "I-214 poplar"
  },
  "lockedScreen": {
    "title": "Account Pending",
    "message": "Your account is not assigned to any organization yet. Please contact your administrator."
  },
  "org": {
    "selector": {
      "eyebrow": "Super admin",
      "title": "Select an organization",
      "subtitle": "Pick an organization to manage its projects, members and settings.",
      "loading": "Loading organizations…",
      "empty": "There are no organizations yet.",
      "noResults": "No organization matches your search.",
      "searchPlaceholder": "Search by name or company…",
      "unnamed": "Unnamed organization",
      "inactive": "Inactive",
      "open": "Open",
      "back": "Back to organizations",
      "errors": {
        "load": "Failed to load organizations."
      }
    },
    "title": "Organization Admin",
    "tabs": {
      "dashboard": "Dashboard",
      "projects": "Projects",
      "users": "Users",
      "settings": "Settings"
    },
    "projects": {
      "title": "Projects (Read-only)",
      "unnamed": "Unnamed Project"
    },
    "users": {
      "title": "Users",
      "emailPlaceholder": "User Email",
      "invite": "Invite",
      "inviteAlert": "Invite functionality simulated for: {{email}}"
    },
    "settings": {
      "title": "Settings",
      "placeholder": "Organization settings will go here.",
      "messages": {
        "saved": "Settings saved successfully.",
        "saveFailed": "Failed to save settings.",
        "approvalFailed": "Failed to update the approval setting.",
        "submissionFailed": "Failed to update the submission permission."
      },
      "billing": {
        "title": "Billing details",
        "description": "The organization's billing address and contact details.",
        "fields": {
          "companyName": "Company name",
          "taxId": "Tax number",
          "contactEmail": "Contact email",
          "country": "Country",
          "postalCode": "Postal code",
          "city": "City",
          "addressLine": "Address"
        },
        "placeholders": {
          "companyName": "e.g. Example Ltd.",
          "taxId": "e.g. 12345678-1-42",
          "contactEmail": "e.g. billing@example.com",
          "country": "e.g. Hungary",
          "postalCode": "e.g. 1011",
          "city": "e.g. Budapest",
          "addressLine": "e.g. 1 Main Street"
        }
      },
      "ftp": {
        "title": "FTP configuration",
        "description": "Connection details for automatic data transfer.",
        "note": "For security reasons the password is not stored here. Contact support to set up the credentials.",
        "fields": {
          "host": "Host",
          "port": "Port",
          "username": "Username",
          "path": "Path"
        },
        "placeholders": {
          "host": "e.g. ftp.example.com",
          "port": "e.g. 21",
          "username": "e.g. username",
          "path": "e.g. /uploads"
        }
      },
      "actions": {
        "saving": "Saving...",
        "save": "Save"
      },
      "members": {
        "title": "Member approval settings",
        "description": "Set per member whether their projects require manager approval before processing.",
        "canSubmit": "Can submit projects",
        "requiresApproval": "Requires approval"
      }
    },
    "overview": {
      "title": "Overview",
      "welcome": "Welcome to the organization dashboard."
    },
    "waiting": {
      "title": "Organization assignment required",
      "badge": "Waiting list",
      "description": "Your account has not been assigned to an organization yet. An administrator needs to assign you to one before you can create or manage projects. Please wait until your access is approved.",
      "refreshNote": "Once you have been assigned to an organization, please log out and back in, or refresh the page for the change to take effect.",
      "logout": "Log out"
    },
    "dashboard": {
      "title": "Organization",
      "subtitle": "Manage your organization's projects, statistics and settings.",
      "loading": "Loading...",
      "errors": {
        "loadProjects": "Failed to load projects.",
        "loadSettings": "Failed to load organization settings.",
        "approve": "Failed to approve the project.",
        "reject": "Failed to reject the project.",
        "noOrg": "No organization is assigned to you."
      },
      "approvalQueue": {
        "confirmReject": "Are you sure you want to reject this project?",
        "title": "Awaiting approval",
        "description": "These projects were submitted by members and are awaiting manager approval before processing.",
        "empty": "No projects awaiting approval.",
        "working": "Working...",
        "approve": "Approve",
        "reject": "Reject"
      },
      "tabs": {
        "projects": "Projects",
        "statistics": "Statistics",
        "settings": "Settings"
      },
      "projects": {
        "title": "All projects",
        "empty": "This organization has no projects yet."
      },
      "filters": {
        "searchPlaceholder": "Search by name, owner or location…",
        "owner": "Owner",
        "all": "All",
        "dateRange": "Date",
        "lastWeek": "Last week",
        "lastMonth": "Last month",
        "clear": "Clear filters"
      },
      "sections": {
        "awaiting_approval": "Awaiting approval",
        "planning": "Planning",
        "processing": "Processing",
        "report_ready": "Report ready",
        "empty": "No projects in this stage."
      }
    },
    "stats": {
      "errors": {
        "load": "Failed to load statistics."
      },
      "loading": "Loading statistics...",
      "empty": "No statistics data to display yet.",
      "units": {
        "ha": "ha"
      },
      "summary": {
        "totalCost": "Total cost",
        "totalHectares": "Total hectares",
        "projectCount": "Projects",
        "memberCount": "Members",
        "monthCost": "Monthly cost",
        "monthHectares": "Monthly hectares",
        "monthProjects": "Monthly projects",
        "monthMembers": "Active members"
      },
      "monthOverview": {
        "title": "Monthly overview",
        "descAdmin": "Select a month for the detailed per-member breakdown. Each month is shown separately.",
        "descLeader": "Aggregated data for the current month. Only the administrator can see previous months.",
        "current": "Current",
        "projectsMeta": "{{count}} projects"
      },
      "scope": {
        "label": "Selected month:"
      },
      "total": {
        "title": "Total summary",
        "description": "All months combined — visible to administrators only."
      },
      "export": {
        "csv": "Download (CSV)",
        "filenamePrefix": "organization-report",
        "totalRow": "Total",
        "columns": {
          "month": "Month",
          "member": "Member",
          "email": "Email",
          "project": "Project",
          "status": "Status",
          "hectares": "Hectares",
          "cost": "Cost (HUF)"
        }
      },
      "monthly": {
        "title": "Monthly cost",
        "description": "Estimated cost of the organization's projects broken down by month.",
        "empty": "No monthly cost data."
      },
      "hectares": {
        "title": "Processed hectares",
        "description": "The processed area broken down by month."
      },
      "ratio": {
        "title": "Photo / LiDAR ratio",
        "description": "The ratio of photo-based to LiDAR-based projects.",
        "empty": "No data to display the ratio.",
        "photo": "Photo",
        "lidar": "LiDAR"
      },
      "byStatus": {
        "title": "Projects by status"
      },
      "byMember": {
        "title": "Breakdown by member",
        "monthTitle": "Breakdown by member – {{month}}",
        "description": "Projects, hectares and costs per member. Click a member for their projects.",
        "empty": "No per-member data.",
        "emptyMonth": "No data for this month.",
        "unnamedProject": "Unnamed project",
        "columns": {
          "member": "Member",
          "projects": "Projects",
          "hectares": "Hectares",
          "cost": "Cost"
        }
      },
      "funnel": {
        "title": "Project funnel",
        "description": "Distribution of projects across the workflow stages.",
        "actionNeeded": "Action needed",
        "awaitingApproval": "awaiting approval"
      },
      "turnaround": {
        "title": "Turnaround times",
        "description": "Average duration of approval and processing.",
        "approval": "Approval",
        "processing": "Processing",
        "days": "days",
        "sampleCount": "Based on {{count}} projects"
      },
      "trends": {
        "title": "Monthly trends",
        "description": "Submitted projects, hectares and cost over time.",
        "empty": "No monthly trend data.",
        "submitted": "Submitted",
        "hectares": "Hectares",
        "cost": "Cost",
        "columns": {
          "month": "Month"
        }
      }
    },
    "members": {
      "errors": {
        "loadFailed": "Failed to load members.",
        "assignFailed": "Failed to assign the member.",
        "roleFailed": "Failed to update the role.",
        "removeFailed": "Failed to remove the member."
      },
      "messages": {
        "assigned": "Member assigned successfully.",
        "roleUpdated": "Role updated successfully.",
        "removeConfirm": "Are you sure you want to remove this member from the organization?",
        "removed": "Member removed successfully.",
        "loading": "Loading members...",
        "empty": "This organization has no members yet."
      },
      "title": "Members",
      "actions": {
        "refreshing": "Refreshing...",
        "refresh": "Refresh",
        "removing": "Removing...",
        "remove": "Remove"
      },
      "assign": {
        "label": "Assign member",
        "searchPlaceholder": "Search by email...",
        "searching": "Searching...",
        "noResults": "No results.",
        "alreadyMember": "Already a member",
        "hint": "Only a super admin can assign members to an organization or change roles."
      },
      "table": {
        "user": "User",
        "email": "Email",
        "role": "Role",
        "status": "Status"
      }
    },
    "roles": {
      "member": "Member",
      "local_admin": "Manager"
    },
    "status": {
      "active": "Active",
      "pending": "Pending"
    }
  }
}
