{
  "brand": {
    "title": "S H A D O W  B R O K E R",
    "subtitle": "GLOBAL THREAT INTERCEPT",
    "systemMetrics": "OPTIC VIS:113 SRC:180 DENS:1.42 0.8ms"
  },
  "nav": {
    "layers": "LAYERS",
    "intel": "INTEL",
    "markets": "MARKETS",
    "dataLayers": "DATA LAYERS",
    "prioritizingMapFeeds": "PRIORITIZING MAP FEEDS",
    "restoreUi": "RESTORE UI"
  },
  "controls": {
    "updates": "UPDATES",
    "checking": "CHECKING...",
    "upToDate": "UP TO DATE",
    "checkFailed": "CHECK FAILED",
    "node": "NODE",
    "terminal": "TERMINAL",
    "coordinates": "COORDINATES",
    "location": "LOCATION",
    "style": "STYLE",
    "solar": "SOLAR",
    "hoverMap": "Hover over map...",
    "na": "N/A"
  },
  "update": {
    "downloadInstaller": "DOWNLOAD INSTALLER",
    "installUpdate": "INSTALL UPDATE",
    "autoUpdate": "AUTO UPDATE",
    "viewRelease": "VIEW RELEASE",
    "manualDownload": "MANUAL DOWNLOAD",
    "cancel": "CANCEL",
    "tryAgain": "TRY AGAIN",
    "downloadingUpdate": "DOWNLOADING UPDATE...",
    "restarting": "RESTARTING...",
    "updateFailed": "UPDATE FAILED",
    "dockerUpdate": "DOCKER UPDATE",
    "dockerUpdateDetail": "Docker containers must be updated by pulling new images.\n            Run this on your host machine:"
  },
  "node": {
    "activateNode": "ACTIVATE NODE",
    "activatingNode": "ACTIVATING NODE",
    "nodeActivated": "NODE ACTIVATED",
    "stipulations": "STIPULATIONS",
    "yes": "YES",
    "no": "NO",
    "agree": "AGREE",
    "disagree": "DISAGREE",
    "turnOff": "TURN OFF",
    "keepOn": "KEEP ON",
    "turningOff": "TURNING OFF...",
    "activating": "ACTIVATING...",
    "nodeOnline": "NODE ONLINE",
    "generatingIdentity": "Generating identity...",
    "identityReady": "Identity ready",
    "preparingTransport": "Preparing onion transport...",
    "findingPeers": "Finding bootstrap peers...",
    "peersReady": "Bootstrap peers ready",
    "syncingChain": "Syncing chain...",
    "soloNodeReady": "Solo node ready",
    "synced": "Synced",
    "events": "events",
    "peers": "peers",
    "close": "CLOSE",
    "activatePrompt": "Do you want to activate a node on this install?",
    "activateDetail": "This turns on your local participant node and syncs Infonet only through available Wormhole onion/RNS peers. Clearnet bootstrap is disabled by default.",
    "keepSyncing": "Your node keeps syncing as long as the backend is running — you can close this browser tab. To run a headless node without the dashboard, use",
    "termsTitle": "BY CONTINUING YOU AGREE:",
    "term1": "This install can keep a local copy of the public Infonet chain.",
    "term2": "Fresh installs do not use a clearnet Infonet seed.",
    "term3": "Participant-node sync requires an onion/RNS peer through Wormhole.",
    "term4": "Your backend may sync with configured private bootstrap peers in the background.",
    "term5": "Wormhole keeps Infonet, gates, Dead Drop, and DM traffic on the obfuscated lane.",
    "syncTakingLong": "Sync is taking longer than expected. Your node is active and will continue syncing in the background."
  },
  "terminal": {
    "infonetTerminal": "INFONET TERMINAL",
    "privateLaneReady": "PRIVATE LANE READY",
    "privateLaneStarting": "PRIVATE LANE STARTING",
    "privateLaneOffline": "PRIVATE LANE OFFLINE",
    "enterTerminal": "Enter the Wormhole-facing terminal and sync with the obfuscated Infonet commons?",
    "terminalDetail": "The terminal runs through Wormhole for obfuscated gates, inbox, and experimental comms.",
    "identityReady": "Your obfuscated identity is already provisioned. Entering now keeps the obfuscated lane separate from the public node sync path.",
    "identityNotReady": "This turns Wormhole on and opens the obfuscated lane. If you already have a Wormhole identity, it reuses it. If you do not, it bootstraps one once and then keeps using it.",
    "beforeYouEnter": "BEFORE YOU ENTER:",
    "termTerminal1": "The terminal is for Wormhole gates (transitional private lane) and Dead Drop / DM (stronger private lane).",
    "termTerminal2": "Your participant node can stay active separately without changing this obfuscated identity lane.",
    "termTerminal3": "Mesh remains the public perimeter. Wormhole is the obfuscated commons.",
    "wormholeCleanup": "WORMHOLE CLEANUP:",
    "cleanupDetail": "Closing the Infonet terminal will shut down Wormhole automatically. If you force-close the browser or the shutdown fails, Wormhole may keep running in the background. Run",
    "cleanupFromRoot": "from the project root to ensure it is fully stopped.",
    "enterWormhole": "ENTER WORMHOLE",
    "activateWormhole": "ACTIVATE WORMHOLE",
    "entering": "ENTERING...",
    "goToMesh": "GO TO MESH"
  },
  "status": {
    "off": "OFF",
    "solo": "SOLO",
    "connected": "CONNECTED",
    "syncing": "SYNCING",
    "forkStop": "FORK STOP",
    "syncIssue": "SYNC ISSUE",
    "active": "ACTIVE",
    "participant": "participant",
    "nodeOff": "node • off",
    "bootstrapWarning": "node • bootstrap warning"
  },
  "backend": {
    "offline": "BACKEND OFFLINE — Cannot reach backend server. Check that the backend container is running and BACKEND_URL is correct."
  },
  "settings": {
    "title": "Settings",
    "close": "Close",
    "general": "General",
    "feeds": "Feeds",
    "shodan": "Shodan",
    "sar": "SAR",
    "infonet": "Infonet",
    "about": "About"
  },
  "legend": {
    "title": "Legend",
    "close": "Close"
  },
  "onboarding": {
    "welcome": "Welcome to ShadowBroker",
    "getStarted": "Get Started"
  },
  "news": {
    "title": "News Intel",
    "noResults": "No results",
    "searchPlaceholder": "Search news..."
  },
  "filters": {
    "title": "Data Filters",
    "clear": "Clear",
    "all": "All"
  },
  "map": {
    "findLocate": "Find / Locate",
    "searchPlaceholder": "Search coordinates, place, or callsign...",
    "measure": "Measure",
    "clearMeasure": "Clear measurement"
  },
  "layers": {
    "aircraft": "Aircraft",
    "commercialFlights": "Commercial Flights",
    "privateAircraft": "Private Aircraft",
    "privateJets": "Private Jets",
    "militaryFlights": "Military Flights",
    "trackedAircraft": "Tracked Aircraft",
    "gpsJamming": "GPS Jamming",
    "maritime": "Maritime",
    "militaryVessels": "Military Vessels",
    "cargoShips": "Cargo Ships",
    "civilianShips": "Civilian Ships",
    "passengerShips": "Passenger Ships",
    "trackedYachts": "Tracked Yachts",
    "fishingActivity": "Fishing Activity",
    "space": "Space",
    "satellites": "Satellites",
    "gibsImagery": "GIBS Imagery",
    "highresSatellite": "High-Res Satellite",
    "sentinelHub": "Sentinel Hub",
    "viirsNightlights": "VIIRS Nightlights",
    "hazards": "Hazards",
    "earthquakes": "Earthquakes",
    "fires": "Fires",
    "ukraineAlerts": "Ukraine Alerts",
    "weatherAlerts": "Weather Alerts",
    "volcanoes": "Volcanoes",
    "airQuality": "Air Quality",
    "infrastructure": "Infrastructure",
    "cctv": "CCTV",
    "datacenters": "Datacenters",
    "internetOutages": "Internet Outages",
    "powerPlants": "Power Plants",
    "militaryBases": "Military Bases",
    "trains": "Trains",
    "sigint": "SIGINT",
    "kiwisdr": "KiwiSDR",
    "pskReporter": "PSK Reporter",
    "satnogs": "SatNOGS",
    "tinygs": "TinyGS",
    "scanners": "Scanners",
    "meshtastic": "Meshtastic",
    "aprs": "APRS",
    "overlays": "Overlays",
    "ukraineFrontline": "Ukraine Frontline",
    "globalIncidents": "Global Incidents",
    "dayNight": "Day/Night",
    "correlations": "Correlations",
    "contradictions": "Contradictions",
    "uapSightings": "UAP Sightings",
    "biosurveillance": "Biosurveillance",
    "wastewater": "Wastewater",
    "crowdThreat": "CrowdThreat",
    "shodanOverlay": "Shodan Overlay",
    "aiIntel": "AI Intel",
    "sar": "SAR",
    "roadCorridorTrends": "Road Freight Trends",
    "roadCorridorSource": "Copernicus S-2 · trends not live",
    "submarineCables": "Submarine Cables",
    "malwareC2": "Malware C2",
    "scmSuppliers": "SCM Suppliers",
    "cyberThreats": "Cyber Threats",
    "telegramOsint": "Telegram OSINT"
  },
  "roadCorridor": {
    "analyzeHere": "ANALYZE HERE",
    "analyzing": "Analyzing…",
    "hintTrends": "Satellite truck-volume trends on major highways (~5 day revisit)",
    "missingDeps": "Install backend road-corridor extras to analyze",
    "missingCreds": "Add Sentinel creds in Settings → Imagery",
    "panMapFirst": "Pan the map to choose an area",
    "analyzeFailed": "Analysis failed"
  },
  "recon": {
    "title": "Recon Toolkit",
    "proxyNote": "Server-side proxy · local operator only"
  },
  "scm": {
    "title": "Supply Chain",
    "allClear": "No elevated risk at monitored Tier 1/2 nodes.",
    "layerOff": "Off — enable Supply Chain in Data Layers to monitor fabs."
  },
  "shodan": {
    "title": "Shodan Connector",
    "searchPlaceholder": "Search devices...",
    "apiKeyRequired": "API Key Required",
    "results": "results"
  },
  "ai": {
    "title": "AI Intel Panel",
    "connected": "Connected",
    "disconnected": "Disconnected"
  },
  "meshChat": {
    "title": "Meshtastic Chat",
    "infonet": "Infonet",
    "meshtastic": "Meshtastic",
    "deadDrop": "Dead Drop",
    "sendMessage": "Send message",
    "placeholder": "Type a message..."
  },
  "watchlist": {
    "title": "Watchlist",
    "empty": "No items watched",
    "clear": "Clear"
  },
  "timeline": {
    "title": "Event Timeline",
    "noEvents": "No events"
  },
  "sar": {
    "title": "SAR Ground-Change Detection",
    "modeA": "Catalog Mode",
    "modeB": "Anomaly Mode",
    "aoiEditor": "AOI Editor",
    "addAoi": "Add AOI",
    "groundDeformation": "Ground Deformation",
    "waterChange": "Water Change",
    "vegetation": "Vegetation Disturbance",
    "damage": "Damage Assessment",
    "coherence": "Coherence Change"
  },
  "telegram": {
    "disclaimer": "WARNING: Content below is loaded from public Telegram channels. Shadowbroker does not host, verify, or endorse it. What you view is entirely at your own risk and has nothing to do with Shadowbroker.",
    "loadMedia": "VIEW MEDIA (TELEGRAM)",
    "openOriginal": "OPEN ON TELEGRAM →",
    "embedTitle": "Telegram post embed",
    "postsAtLocation": "{count} posts at this location — scroll for more"
  }
}
