{
    "ui": {
        "action-add-calendar": "Add to calendar",
        "action-another": "Convert another route",
        "action-open-maps": "Open in Google Maps",
        "action-open-apple-maps": "Open in Apple Maps",
        "apple-maps-note": "Apple recalculates the route on its own map: it may differ from the original.",
        "apple-maps-note-cycling": "Apple recalculates the route on its own map and it may differ. Its cycling mode is not available in every region or on older systems (it may open as walking).",
        "action-open-waze": "Open in Waze",
        "handoff-group-label": "Or open directly in an app — no file needed",
        "handoff-alt-note": "The route alternative you pick in the cards does not transfer.",
        "waze-note": "Waze navigates by car/motorcycle from your current location to the destination, without intermediate stops and with its own route.",
        "waze-stops-note": "Your link has {n} stop(s) — Waze only navigates to the final destination.",
        "action-share": "Share route file",
        "action-cancel": "Cancel",
        "share-route-link": "Share route link",
        "analytics-notice": "Anonymous analytics. No cookies. Honors Do Not Track.",
        "btn-historial": "My recent routes",
        "connect-garmin": "Connect Garmin Connect",
        "connect-strava": "Connect Strava",
        "connect-wahoo": "Connect Wahoo",
        "connected-garmin": "Connected to Garmin Connect",
        "connected-strava": "Connected to Strava",
        "connected-toast": "Connected to",
        "connected-wahoo": "Connected to Wahoo",
        "convert-timeout": "No response in 45 seconds. The server may be waking up — please try again.",
        "download-also-in": "Also download in:",
        "fmt-warning-drone": "⚠️ Drone formats export a GROUND route, not a vetted flight mission. Pre-flight human review, altitude and airspace checks are mandatory — you are the pilot in command.",
        "fmt-warning-marine": "⚠️ Reference only — Google does not route open water. Always verify against official nautical charts before navigating.",
        "fmt-warning-flight": "⚠️ Reference only — not an aviation navigation source. Check official charts, NOTAM and airspace before any flight.",
        "fmt-warning-companion": "Companion file — bring a charged GPS, paper map and compass. Verify the route before heading out.",
        "aria-zoom-in": "Zoom in",
        "aria-zoom-out": "Zoom out",
        "route-sheet-hint": "Thinking of every situation — besides the file for your GPS, your route also travels these two ways:",
        "route-sheet-pdf": "Route sheet (PDF)",
        "route-sheet-pdf-sub": "Printable & easy to share. Turn-by-turn cues, elevation profile, route sketch and an emergency reference with your exact coordinates. When the GPS battery dies, paper doesn't.",
        "route-sheet-xlsx": "Route data (Excel)",
        "route-sheet-xlsx-sub": "Editable workbook: summary, cues, raw elevation and track coordinates with charts — to analyze the route or plan it stage by stage.",
        "eyebrow": "GPX · KML · GeoJSON · TCX · KMZ · CSV · FIT · NMEA · IGC · Litchi · WPML · FPL · CUP · PDF · Excel",
        "faq-a1": "Paste your Google Maps link (maps.app.goo.gl/… or google.com/maps/…), choose GPX, and click Convert. The file downloads instantly. No account required.",
        "faq-a2": "Sixteen formats: GPX (most devices), KML, TCX, KMZ, GeoJSON and CSV, plus FIT (Garmin/Wahoo native), NMEA (marine), IGC (gliding/paragliding), Litchi and WPML (DJI drones), FPL (aviation), CUP (soaring) and a navigable route GPX — plus a printable PDF route sheet and an Excel workbook with every point. GPX works on Garmin, Wahoo, COROS, Suunto, Polar, Strava, OsmAnd and any standards-compliant GPS device.",
        "faq-a3": "Yes. SendaOne is free to use. No account, no cookies, no tracking, no third-party scripts.",
        "faq-a4": "Open your route in Google Maps (Directions), tap Share then Copy link. On desktop, copy the URL from the address bar. Paste that link into SendaOne.",
        "faq-a5": "Yes. SendaOne runs in any phone browser. Paste the link, pick a format, and the file is saved to your downloads ready to open in your GPS or watch app.",
        "faq-heading": "Frequently asked questions",
        "faq-q1": "How do I convert a Google Maps route to GPX?",
        "faq-q2": "What formats are supported?",
        "faq-q3": "Is it free?",
        "faq-q4": "How do I get the link from Google Maps?",
        "faq-q5": "Does it work on mobile?",
        "fmt-csv-sub": "Excel · Sheets",
        "fmt-fit-sub": "Garmin · Wahoo",
        "fmt-nmea-sub": "Marine · Plotters",
        "fmt-igc-sub": "Gliding · Soaring",
        "fmt-litchi-sub": "DJI Drones",
        "fmt-wpml-sub": "DJI Fly · Waypoints",
        "fmt-pdf-sub": "Route sheet · Print",
        "fmt-xlsx-sub": "Data · All points",
        "wpml-import-help": "How do I load this on my DJI? →",
        "fmt-geojson-sub": "Web · GIS",
        "fmt-gpx-sub": "Routes · Tracks",
        "fmt-kml-sub": "Maps · 3D",
        "fmt-kmz-sub": "Earth · Mobile",
        "fmt-tcx-sub": "Cycling · Running",
        "footer-about": "About",
        "footer-contact": "Contact",
        "footer-privacy": "Privacy",
        "footer-security": "Security",
        "footer-terms": "Terms",
        "footer-stack": "Stack",
        "footer-text": "SendaOne · © 2026",
        "help-url": "Paste a Google Maps link (maps.app.goo.gl/… or google.com/maps/…).",
        "help-how-title": "How do I get the link?",
        "help-how-step1": "Open your route in Google Maps (Directions).",
        "help-how-step2": "Tap \"Share\" → \"Copy link\" (on desktop: copy the URL from the address bar).",
        "help-how-step3": "Paste it here.",
        "fmt-gpx-most-devices": "Most devices",
        "hero-note": "Built because moving a route from your phone to a Garmin, a chartplotter or a flight computer shouldn't need five tabs and a signup.",
        "historial-empty-hint": "Convert a route — it will appear here for quick re-conversion.",
        "historial-heading": "My recent routes",
        "historial-limpiar": "Clear history",
        "historial-reconvertir": "Convert again",
        "historial-vacio": "No conversions yet",
        "hero-subtitle": "Paste your Google Maps link and download that exact route as <code>.gpx</code>, <code>.fit</code>, <code>.tcx</code> and 8 more formats. For cyclists, runners, hikers, sailors, pilots and drone pilots. No account.",
        "hero-title-1": "Google Maps routes.",
        "hero-title-2": "On any device",
        "hero-title-3": "you ride, run, sail or fly.",
        "hero-title-4": "",
        "html-lang": "en",
        "label-format": "Output format",
        "label-format-opt": "file type",
        "label-nombre": "Track name",
        "label-nombre-opt": "optional",
        "label-url": "Google Maps URL",
        "label-url-opt": "required",
        "legal-1": "The Operator is <strong>NOT</strong> affiliated, associated, authorized, sponsored, endorsed, contractually linked or otherwise connected with Google LLC, Alphabet Inc., Google Maps Platform, Strava Inc., Garmin Ltd., Wahoo Fitness LLC, Coros Wearables Inc., Suunto Oy, Komoot GmbH, Mapbox Inc., Apple Inc., Android, Polar, Bryton, Sigma, ANT+ Alliance, Hammerhead, Bosch eBike, Magene, Stages, Trailforks, RideWithGPS, MapMyRide, AllTrails, Gaia GPS, OpenStreetMap Foundation, or any other third party. Mentions are <em>nominative fair use</em>.",
        "legal-1-title": "No third-party affiliation",
        "legal-10": "<strong>No accounts, no cookies, no analytics, no tracking.</strong> Data processed when you submit a URL: (a) the Google Maps URL itself, forwarded to <a href=\"https://policies.google.com/privacy\" target=\"_blank\" rel=\"noopener noreferrer\">Google Maps Platform</a> (Directions + Elevation APIs) which acts as an independent controller under its own terms; (b) your IP address, kept only in memory and as a truncated SHA-256 hash in operational logs, used solely for rate-limiting and abuse prevention &mdash; <em>legitimate interest, Art. 6(1)(f) GDPR / Recital 49</em>; (c) <code>Accept-Language</code> header, forwarded to Google so street names come back in your language &mdash; <em>service performance, Art. 6(1)(b) GDPR</em>; (d) <code>User-Agent</code>, evaluated against an automated-bot blocklist. <strong>Submitted URLs and generated files are not stored</strong> &mdash; files are deleted immediately after download. Hosting is on Fly.io Inc. (United States — Ashburn, Virginia, region iad); processing of EU/UK/Brazil personal data therefore involves an international transfer, justified as necessary for the performance of the service you requested (Art. 6(1)(b) + Art. 49(1)(b) GDPR) and limited to the minimal categories above. You may exercise GDPR / CCPA / LGPD / Ley 1581 rights (access, erasure, objection) by opening a GitHub issue &mdash; in practice nothing identifiable about you is retained beyond ephemeral logs rotated by the hosting provider. Aggregated, non-personal counters (total conversions, format mix, transport mode, country of origin via Cloudflare's <code>CF-IPCountry</code> header — ISO 3166 alpha-2 code, never IP) are published openly on GitHub. Country aggregation is incremented only on successful conversions and is justified under legitimate interest (Art. 6(1)(f) GDPR) for service planning and regional performance optimization — no individual tracking, no profiles, no cross-request linking. The optional <em>My recent routes</em> history lives exclusively in your browser's <code>localStorage</code> (cap 10 entries, FIFO) and is <strong>never sent to the server</strong>; clear it any time from the history panel or your browser settings.",
        "legal-10-title": "Privacy — no personal data collection",
        "legal-11": "If the user provides their own API key (Google Maps Platform or others), custody, rotation, quota monitoring, charges and provider terms compliance are their <strong>sole responsibility</strong>. The Operator assumes no responsibility for leaks, charges or suspensions of user keys.",
        "legal-11-title": "User-provided API keys",
        "legal-12": "Generated files are delivered at conversion time and <strong>not retained server-side</strong>. The user is solely responsible for backup, versioning and protection of downloaded files.",
        "legal-12-title": "Downloaded files responsibility",
        "legal-13": "The user is solely responsible for ensuring use of the Service and generated files complies with all applicable laws in their jurisdiction (private land access, protected areas, national parks, borders, restricted airspace, intellectual property, data protection, etc.).",
        "legal-13-title": "Local laws compliance",
        "legal-14": "Governed by the laws of the <strong>Republic of Colombia</strong>. Any dispute shall be submitted to the exclusive jurisdiction of the competent courts of <strong>Bogotá D.C., Republic of Colombia</strong>, with express waiver of any other forum that might correspond to the user.",
        "legal-14-title": "Governing law and jurisdiction",
        "legal-15": "If any provision of this notice is found invalid or unenforceable, it shall be severed and the remaining provisions continue in full force.",
        "legal-15-title": "Severability",
        "legal-16": "The Operator may modify, update, suspend or discontinue the Service and/or this notice at any time without prior notice. The version published in the public repository and/or the application is the binding one. Continued use implies acceptance.",
        "legal-16-title": "Modifications",
        "legal-17": "<strong>SendaOne</strong> — Copyright © 2026 Sergio Marroquín Cabrera. All rights reserved. The software, brand, source code, design assets and documentation are proprietary. Reproduction, distribution, modification, reverse-engineering, scraping or commercial use without prior written consent is strictly prohibited and may result in civil and criminal penalties under the applicable laws of the Republic of Colombia and international intellectual property treaties.",
        "legal-17-title": "Copyright & All Rights Reserved",
        "legal-18": "The online instance operated by the Operator is offered <strong>exclusively for personal, individual, non-commercial use</strong>. Resale, integration into commercial products, automated mass processing, scraping or redistribution of the converted files for profit is prohibited.",
        "legal-18-title": "Online instance — personal use only",
        "legal-19": "The Operator is not liable for non-performance arising from events beyond reasonable control: natural disasters, pandemics, armed conflicts, internet failures, hosting provider failures, third-party ToS changes, API suspensions, cyberattacks, power outages, or any force majeure event.",
        "legal-19-title": "Force majeure",
        "legal-2": "The Service is provided <strong>\"AS IS\" and \"AS AVAILABLE\"</strong>, without warranty of any kind, express, implied or statutory, including merchantability, fitness for a particular purpose, title, non-infringement, accuracy, completeness, availability, absence of errors, malware or interruptions. The user assumes the entire risk.",
        "legal-2-title": "No warranty — \"AS IS\"",
        "legal-20": "<strong>Data Controller:</strong> Sergio Marroquín Cabrera, Bogotá, Colombia. To exercise rights under GDPR (EU) / LGPD (Brazil) / CCPA-CPRA (California) / Ley 1581 (Colombia) — access, rectification, erasure, objection, portability — open an issue at <a href=\"https://github.com/smarroquinc10/maps-to-gpx/issues\" target=\"_blank\" rel=\"noopener noreferrer\">github.com/smarroquinc10/maps-to-gpx</a> with subject <code>[Privacy Request]</code>. No DPO designated — Art. 37 GDPR does not apply (no systematic large-scale processing). Complaints may also be directed to: AEPD (Spain), CNIL (France), BfDI (Germany), ANPD (Brazil — anpd.gov.br), SIC (Colombia — sic.gov.co). <strong>We do not sell or share personal information</strong> as defined by CCPA/CPRA §1798.140. For non-urgent project communications, use the same GitHub issues system.",
        "legal-20-title": "Contact",
        "legal-21": "The Service is not directed to children. By using it you represent that you are at least 13 years old (or the minimum digital-consent age in your jurisdiction, e.g. 16 in parts of the EU). The Operator does not knowingly process data from minors below that age.",
        "legal-21-title": "Minimum age",
        "legal-22": "Generated files reflect routes and place names the user supplies via a third-party URL; the Operator does not curate this content. If you believe content accessible through the Service infringes your intellectual-property rights, send a notice identifying the material and your rights to <strong>gps@sendaone.com</strong>. The Operator will review and, where appropriate, remove or disable access to the reported material without admission of liability.",
        "legal-22-title": "Intellectual-property claims (notice and takedown)",
        "legal-23": "This notice, together with the Terms of Service and Privacy Policy published at sendaone.com, constitutes the entire agreement between the user and the Operator regarding the Service, superseding any prior understanding. The Operator's failure to enforce any provision shall not be deemed a waiver of that or any other provision.",
        "legal-23-title": "No waiver; entire agreement",
        "legal-24": "This notice is published in several languages for convenience. The Spanish and English versions are the official texts; translations into other languages are provided for reference only. In case of conflict or discrepancy, the <strong>Spanish version shall prevail</strong>, consistent with the governing law of the Republic of Colombia.",
        "legal-24-title": "Prevailing language",
        "legal-3": "To the maximum extent permitted by law, the Operator <strong>shall not be liable</strong> for direct, indirect, incidental, consequential, special, punitive or moral damages, lost profits, lost data, injury, death or property damage. Aggregate liability cap: <code>USD $100.00</code> — the Service is free of charge.",
        "legal-3-title": "Limitation of liability — cap USD $100",
        "legal-4": "The user agrees to <strong>indemnify, defend and hold harmless</strong> the Operator against any claim, demand, action, fine or legal fees arising from: misuse of the Service, breach of this notice, infringement of third-party rights, violation of Google Maps Platform ToS, or accidents during activities using generated files.",
        "legal-4-title": "Indemnification",
        "legal-5": "<strong>The Service is NOT designed, certified or authorized for primary navigation in safety-critical scenarios:</strong> mountaineering, remote expeditions, polar travel, maritime, aerial, adverse weather, search-and-rescue, military, hazardous materials transport, medical evacuation, or any scenario where a routing error may cause serious injury, death or significant damage. Always carry official maps, compass and certified safety equipment.",
        "legal-5-title": "No safety-critical use",
        "legal-6": "Generated data (distance, elevation, gradient, estimated speed) do not constitute medical, athletic or training recommendations. Consult a qualified professional before physical activity.",
        "legal-6-title": "No medical, athletic or professional advice",
        "legal-7": "Use of generated files and integrations with Strava, Garmin Connect, Wahoo ELEMNT, Coros, Suunto, Komoot etc. is governed by their respective ToS. Notably, <a href=\"https://cloud.google.com/maps-platform/terms/\" target=\"_blank\" rel=\"noopener noreferrer\">Google Maps Platform ToS</a>. Compliance is the user's sole responsibility.",
        "legal-7-title": "Compliance with third-party terms",
        "legal-8": "All trademarks (\"Google\", \"Google Maps\", \"Strava\", \"Garmin\", \"Wahoo\", \"ELEMNT\", \"Coros\", \"Suunto\", \"Komoot\", \"Mapbox\", \"Apple\", \"Polar\", \"Bryton\", \"Sigma\", \"ANT+\", file formats <code>GPX/KML/GeoJSON/TCX/FIT/CSV</code>) belong to their respective owners. Mention does not imply sponsorship, endorsement or license.",
        "legal-8-title": "Trademarks and intellectual property",
        "legal-9": "Cartographic and elevation data come from third parties and may contain errors, omissions, outdated information, impassable routes, legal restrictions not reflected, or significant elevation margin of error. <strong>Verify routes independently before traveling them.</strong>",
        "legal-9-title": "Data accuracy",
        "legal-end": "— End of legal notice —",
        "legal-intro": "By using this Service you accept the terms below. They exist because the tool is offered free and as-is.",
        "legal-license": "License",
        "legal-operator": "Operator",
        "legal-operator-name": "natural person, Bogotá D.C., Colombia",
        "legal-summary": "Legal · Disclaimer · License · Privacy",
        "legal-updated": "Last updated",
        "loading": "Converting...",
        "map-destination": "Finish",
        "map-origin": "Start",
        "map-preview-toggle": "View map preview",
        "map-preview-caption": "Preview of the route you just downloaded",
        "map-stop": "Stop",
        "meta-1": "Polyline decoded · waypoints preserved · <code>D+ / D&minus;</code> computed",
        "meta-2": "Any device, app or platform that reads the open standard · <code>GPX 1.1 · KML 2.2 · GeoJSON</code>",
        "meta-3": "No cookies · no tracking · no third-party scripts",
        "meta-safety": "Companion only — bring charged GPS, paper map and compass. Verify the route before going outdoors.",
        "modo-bicycling": "Bike",
        "modo-driving": "Car",
        "modo-no-disponible": "Route not available in {modo} on Google Maps. Try another mode.",
        "modo-switching": "Loading {modo}...",
        "modo-transit": "Transit",
        "modo-walking": "Walk",
        "nombre-default": "SendaOne Route",
        "oauth-denied": "Authorization denied.",
        "oauth-error": "Authorization failed. Try again.",
        "picker-alt-info": "Don't see the exact route from your Maps app? Estimated times can differ slightly, and your app may show extra options. To force a specific route, add a stop along it in Google Maps and share that link.",
        "picker-email-hint": "After downloading your route, you can email a backup to a friend or trip contact before going offline.",
        "picker-announce": "{n} route alternatives found. Use Tab and Enter to choose.",
        "picker-back": "← Back to URL",
        "picker-downloading": "Downloading...",
        "picker-eta": "Arrives {eta}",
        "picker-fastest": "FASTEST",
        "picker-heading": "Choose your route",
        "picker-format-label": "Download format",
        "picker-no-summary": "(no road name)",
        "picker-route-label": "Route",
        "picker-step-mode": "Mode",
        "picker-map-aria": "Map with all route alternatives; the selected one is highlighted",
        "route-dl-cta": "Download this route",
        "picker-card-select": "Select to highlight on the map",
        "picker-why-tolls": "Avoids tolls",
        "picker-why-highways": "Avoids highways",
        "picker-why-both": "Avoids highways & tolls",
        "picker-why-via": "Alternate corridor",
        "chip-bici": "🚲 Bike → GPX",
        "chip-moto": "🏍 Moto → Waze, no file",
        "chip-drone": "🛸 DJI drone → DJI Fly",
        "chip-nautica": "⛵ Sailing → NMEA",
        "chip-senderismo": "🥾 Hiking → GPX",
        "chip-nose": "🤷 Not sure → GPX",
        "handoff-teaser": "No file needed? Paste your link — depending on your route you'll see “Open in Apple Maps” or “Open in Waze”.",
        "tooltip-device-djifly": "DJI Fly (DJI drones)",
        "tooltip-device-litchi": "Litchi (planner for DJI drones)",
        "tooltip-device-plotter": "Chartplotter / OpenCPN",
        "tooltip-device-parapente": "Paragliding / XCTrack",
        "tooltip-device-inreach": "Garmin inReach / eTrex",
        "tooltip-device-moto": "🏍 Motorcycle? You may not need a file: paste a driving route link and tap “Open in Waze” on the next screen.",
        "tooltip-format-wpml": "WPML",
        "tooltip-format-litchi": "Litchi CSV",
        "tooltip-format-nmea": "NMEA",
        "tooltip-format-igc": "IGC",
        "fmt-applemaps-sub": "No file · Apple recalculates",
        "fmt-wazeapp-sub": "Car/Moto · Waze recalculates",
        "picker-step-route": "Tap a route to highlight it, then press “Download this route”",
        "picker-card-download": "Download",
        "flow-step-1": "Paste your Google Maps link",
        "flow-step-2": "Pick format and mode",
        "flow-step-3": "Tap your route, then “Download this route”",
        "post-done-title": "Done! Your route downloaded.",
        "post-done-hint": "Optional — but smart: email yourself a backup before you lose signal.",
        "post-more-options": "More options",
        "picker-stops-many": "{n} stops",
        "picker-stops-one": "1 stop",
        "picker-stops-zero": "no stops",
        "picker-subtitle": "Google Maps offers {n} alternatives for this route. Pick the one you saw on screen — the link you pasted doesn't remember which one you picked.",
        "picker-traffic-chip": "with traffic",
        "picker-mode-fallback": "Google had no {from} route here, so this is the walking route — it still loads on your GPS.",
        "picker-warn-detour": "This route is {ratio}× the straight-line distance. Did the URL paste correctly?",
        "placeholder-url": "https://maps.app.goo.gl/...",
        "preview-timeout": "No response in 25s. Check your signal and try again.",
        "previewing": "Looking up route alternatives...",
        "stream-interrupted": "The connection dropped before finishing. Tap Convert again.",
        "preview-still-working": "→ Still working — the server may be waking up (~20-30s the first time)…",
        "quota-countdown-hours": "{h}h {m}min {s}s",
        "quota-countdown-prefix": "Available again in",
        "quota-dismiss": "Got it",
        "quota-subtitle": "The daily free Google Maps quota has been used up.",
        "quota-title": "Service temporarily at capacity",
        "share-copied": "Copied!",
        "share-copy-link": "Copy link",
        "share-email": "Email",
        "share-email-backup": "Email me a backup",
        "share-email-invalid": "Invalid email.",
        "share-email-note": "Note (optional)",
        "share-email-not-configured": "Email backup not configured by operator.",
        "share-email-prompt": "Enter your email",
        "share-email-subject": "Google Maps to GPX with SendaOne",
        "share-email-success": "Sent! Check your inbox.",
        "share-failed": "Could not share — file is in your Downloads.",
        "share-text": "I converted my Google Maps route to GPX with SendaOne",
        "share-this": "Share SendaOne",
        "share-to-garmin": "Send to Garmin Connect",
        "share-to-strava": "Send to Strava",
        "share-to-wahoo": "Send to Wahoo ELEMNT",
        "share-twitter": "X / Twitter",
        "share-whatsapp": "WhatsApp",
        "shared-via-system": "Shared via system",
        "showcase-caption": "Whichever travel mode you chose in Google Maps — walking, cycling, motorcycle, driving, transit — your file mirrors the exact route on screen.",
        "slow-connection": "Slow signal detected — this may take up to 30s. Don't close the page.",
        "spec-label-end": "D+ 1240 m",
        "spec-label-mid": "elevation profile · sample",
        "spec-label-start": "0 km",
        "split-checkbox": "Split into stages (long routes)",
        "split-hint": "Recommended for >80 km routes — gets a ZIP with one GPX per ~80 km stage.",
        "expedicion-checkbox": "Expedition mode (remote zone)",
        "expedicion-hint": "ZIP with GPX + KML + stages + cuesheet + offline README. For trips into no-coverage areas.",
        "split-included": "Included",
        "stage-building": "Building {format} file...",
        "stage-done": "Done!",
        "stage-elevation": "Fetching elevation data...",
        "stage-elevation-chunks": "Fetching elevation {current}/{total} chunks...",
        "stage-error-timeout": "Timed out. Try again.",
        "stage-resolving-url": "Resolving Google Maps URL...",
        "stage-routing": "Getting the route from Google Maps...",
        "stage-starting": "Connecting...",
        "status-checking": "Checking...",
        "status-degraded": "Service degraded",
        "status-down": "Service down",
        "status-indicator-aria": "Service status — opens /health in new tab",
        "aria-language": "Language",
        "aria-pick-activity": "Pick your activity",
        "aria-output-format": "Output format",
        "aria-transport-mode": "Transport mode",
        "aria-route-alternatives": "Route alternatives",
        "aria-map-attribution": "Map data attribution",
        "aria-route-preview-map": "Route preview map",
        "aria-supported-activities": "Supported activities",
        "aria-convert-device": "Convert to your device",
        "aria-legal": "Legal",
        "aria-app-version": "Application version",
        "device-guides-intro": "Convert a Google Maps route to:",
        "device-guides-litchi": "DJI drones (Litchi)",
        "device-guides-nmea": "Marine (NMEA)",
        "device-guides-igc": "Paragliding (IGC)",
        "device-guides-compare": "Compare converters",
        "status-operational": "Service operational",
        "submit-btn": "Convert and download",
        "support-this-project": "Support this project",
        "tooltip-device-coros": "COROS PACE / APEX / Vertix",
        "tooltip-device-earth": "Google Earth",
        "tooltip-device-format": "Recommended format",
        "tooltip-device-garmin": "Garmin Edge / Forerunner",
        "tooltip-device-label": "Device",
        "tooltip-device-osmand": "OsmAnd / WorkOutDoors",
        "tooltip-device-polar": "Polar Vantage / Grit",
        "tooltip-device-prompt": "Not sure which format? Pick your device",
        "tooltip-device-sheets": "Excel / Google Sheets",
        "tooltip-device-suunto": "Suunto Race / Vertical",
        "tooltip-device-wahoo": "Wahoo ELEMNT BOLT / ROAM",
        "tooltip-format-csv": "CSV",
        "tooltip-format-gpx": "GPX",
        "tooltip-format-kmz": "KMZ",
        "tooltip-format-tcx-or-gpx": "TCX (with D+/cadence) or GPX",
        "tooltip-format-tcx-or-fit": "TCX or FIT (with extra [formats])",
        "upload-failed": "Upload failed. Try again.",
        "upload-not-configured": "Integration not configured by the operator.",
        "upload-rate-limit": "Daily quota reached. Try later.",
        "upload-success-garmin": "Uploaded to Garmin Connect — check your activities.",
        "upload-success-strava": "Uploaded to Strava — check your feed.",
        "url-clear-aria": "Clear URL",
        "verified-density": "{n} pts/km",
        "verified-prefix": "✓ Route verified",
        "verified-schema": "GPX 1.1 schema-valid",
        "verified-trkpts": "{n} track points",
        "wahoo-down": "Wahoo Cloud is unavailable right now. Try again later.",
        "wahoo-rate-limit": "Wahoo is rate-limiting requests. Wait 1 minute and retry.",
        "wahoo-session-expired": "Your Wahoo session expired. Reconnect your account.",
        "wahoo-upload-failed": "Could not send route to Wahoo. Try again.",
        "wahoo-upload-success": "Route sent to your Wahoo account. Open the Wahoo app on your phone to sync to your ELEMNT.",
        "validation-url-empty": "Paste a Google Maps link to start.",
        "validation-url-scheme": "That doesn't look like a link. Paste the full Google Maps URL (it starts with https://).",
        "validation-url-too-long": "That link is too long (max 2048 characters). Copy it again from Google Maps.",
        "validation-url-not-maps": "That doesn't look like a Google Maps link. It should contain google.com/maps or maps.app.goo.gl.",
        "skip-to-content": "Skip to main content",
        "elevation-profile-aria": "Elevation profile of the route",
        "elevation-title": "Elevation profile",
        "elevation-max": "Max",
        "stat-climb": "Climb",
        "stat-grade": "Max grade",
        "stat-curves": "Curves/km",
        "stat-traffic": "Traffic",
        "elevation-min": "Min",
        "stat-speed": "Avg speed",
        "stat-grade-avg": "Avg grade",
        "stat-climb-rate": "Climb rate",
        "elevation-dist": "Distance",
        "picker-emailing": "Emailing your route…",
        "share-email-placeholder": "you@email.com",
        "action-send": "Send"
    },
    "errors": {
        "Actividad inválida": "Activity not recognized. Choose Walking, Cycling, Driving or Transit.",
        "Apple Maps": "This URL is from Apple Maps. SendaOne only supports Google Maps links.",
        "Bing Maps": "This URL is from Bing Maps. SendaOne only supports Google Maps links.",
        "Configuración del servidor incompleta": "Server configuration incomplete. Try again later.",
        "Cross-origin POST": "Your browser blocked the request. Reload the page and try again.",
        "Error interno": "Unexpected server error. Try again in a few minutes.",
        "Esta misma ruta acaba de descargarse": "This same route was just downloaded from your network. Wait a few minutes or change URL, format or alternative.",
        "Failed to fetch": "No connection to the server. Check your network and try again.",
        "Load failed": "No connection to the server. Check your network and try again.",
        "Firebase Dynamic Links": "This maps.app.goo.gl link uses Firebase Dynamic Links and Google does not expose the long URL to servers. Open it in a desktop browser, copy the long URL from the address bar (it will be /maps/dir/...), and paste THAT here.",
        "Formato inválido": "Format not recognized. Pick one of the formats listed.",
        "HTTP 404": "That short link no longer works. Re-share the route from Google Maps.",
        "HTTP 502": "Google Maps API temporarily unreachable. Try again in a few minutes.",
        "INVALID_REQUEST": "Google Maps couldn't read this link. Open the route in Google Maps on a computer, copy the long URL from the address bar (it starts with google.com/maps/dir/...), and paste that.",
        "Invalid form submission": "Your browser autofilled a hidden field. Disable autocomplete and retry.",
        "Latitud fuera de rango": "The coordinates in the URL look invalid. Share the route from Google Maps directly.",
        "NOT_FOUND": "Google could not locate one of the places in the URL. Try a more specific address or share a route between two named places.",
        "NetworkError": "No connection to the server. Check your network and try again.",
        "OVER_QUERY_LIMIT": "Service rate-limited. Try again in 30 seconds.",
        "REQUEST_DENIED": "A temporary problem on our side (not your link). Meanwhile, open the route straight in Apple Maps or Waze with the buttons below.",
        "server-busy": "The server had a hiccup. Wait a moment and tap Convert again.",
        "Request body too large": "Payload too large.",
        "Segmento de origen/destino vacío": "The link is incomplete. Copy it again from Google Maps.",
        "Too many requests": "Too many requests. Wait a few seconds and tap Convert again.",
        "UNKNOWN_ERROR": "Google API unavailable. Try again.",
        "URL es de un lugar": "This link is for a single place, not a route. In Google Maps, tap 'Directions' first, then share.",
        "URL no válida": "The URL doesn't look like a valid Google Maps link. Verify the format.",
        "URL too long": "The Google Maps URL is too long (max 2048 chars).",
        "Waze": "This URL is from Waze. SendaOne only supports Google Maps links.",
        "ZERO_RESULTS": "No route found between origin and destination.",
        "aborted": "Operation cancelled or timed out. Try again.",
        "goo.gl/maps": "Old goo.gl/maps short links were discontinued. Use the new maps.app.goo.gl format.",
        "interactive browser use only": "Your browser looks non-standard. Try Chrome, Firefox or Safari.",
        "Índice de ruta inválido": "Route alternative not available. Reload and try again."
    },
    "INVALID_ARGUMENT": "Could not create a route for those locations. Coordinates may be in areas without road network (poles, ocean, isolated regions). Try points accessible in Google Maps.",
    "ios-apple-watch-tip": "iPhone: after downloading, tap the file and choose Organic Maps (free, offline) or WorkOutDoors / Footpath (sync to Apple Watch).",
    "android-osmand-tip": "Android: after downloading, open the file and choose Organic Maps (free, offline), OsmAnd, Locus Map or your preferred GPS app."
}
