{
  "meta": {
    "locale": "en",
    "version": 1
  },
  "labels": {
    "language": "Primary language",
    "languages": "Language list",
    "screen": "Display",
    "devicePixelRatio": "Pixel density",
    "timezone": "Timezone",
    "timezoneOffset": "UTC offset",
    "hardwareConcurrency": "CPU threads",
    "deviceMemory": "Device memory",
    "maxTouchPoints": "Touch points",
    "pointer": "Pointer type",
    "platform": "Platform",
    "vendor": "Vendor",
    "cookieEnabled": "Cookies",
    "connection": "Network",
    "pdfViewerEnabled": "PDF viewer",
    "webdriver": "Automation",
    "pluginsLength": "Plugins",
    "accept_language": "Accept-Language",
    "accept_encoding": "Accept-Encoding",
    "accept": "Accept",
    "sec_ch_ua": "Client Hints (brands)",
    "sec_ch_ua_mobile": "Client Hints (mobile)",
    "sec_ch_ua_platform": "Client Hints (platform)",
    "sec_ch_ua_platform_version": "Platform version",
    "sec_ch_ua_full_version_list": "Full version list",
    "dnt": "Do Not Track",
    "sec_gpc": "Global Privacy Control",
    "sec_fetch_site": "Fetch site",
    "sec_fetch_mode": "Fetch mode",
    "sec_fetch_dest": "Fetch destination",
    "sec_fetch_user": "Fetch user",
    "upgrade_insecure_requests": "Upgrade insecure requests",
    "viewport_width": "Viewport width",
    "device_memory": "Device memory (hint)",
    "downlink": "Downlink",
    "ect": "Effective connection type",
    "rtt": "Round-trip time",
    "priority": "Priority",
    "globalPrivacyControl": "Global Privacy Control",
    "doNotTrack": "Do Not Track (JS)",
    "userAgentData": "User-Agent Data API"
  },
  "common": {
    "enabled": "Enabled",
    "disabled": "Disabled",
    "no_data": "No data available",
    "unknown_region": "Unknown region",
    "not_available": "Not available",
    "available": "Available",
    "active": "Active",
    "not_active": "Not active",
    "automation_detected": "Automation detected",
    "not_automated": "Not automated",
    "no_touch_input": "No touch input",
    "see_advanced_probes": "See advanced probes below",
    "see_details_above": "See details above",
    "copy": "Copy",
    "copied": "Copied",
    "failed": "Failed"
  },
  "errors": {
    "rate_limit": "Rate limit exceeded. Please try again in {seconds} seconds.",
    "analysis_failed": "The analysis request could not be completed.",
    "analysis_generic": "Analysis failed",
    "manual_ua_required": "Enter a User-Agent string to analyze."
  },
  "inference": {
    "what_you_can_do": "What you can do:",
    "no_inferences": "No inferences in this category."
  },
  "ua": {
    "no_ua": "No User-Agent received",
    "compare_title": "In-page User-Agent differs from the HTTP header"
  },
  "geo": {
    "note": "Approximate location and network data derived locally from your IP via MaxMind GeoLite2. Your IP is not shown in this report.",
    "country": "Country",
    "region": "Region",
    "city": "City",
    "timezone": "Timezone (from IP)",
    "asn": "ASN",
    "network": "Network / ISP",
    "unavailable": "IP geolocation is unavailable (private IP, database not configured, or lookup failed).",
    "reasons": {
      "private_or_local": "Geolocation is skipped for localhost and private-network addresses. Use a public IP or deploy behind a proxy to see approximate location here.",
      "disabled": "IP geolocation is disabled on this server (GEOIP_ENABLED=false).",
      "database_missing": "The GeoLite2 database is not on the server yet. Configure MaxMind credentials in .env or place GeoLite2-City.mmdb at the configured path.",
      "database_load_failed": "The GeoLite2 database file exists but could not be loaded. Check server logs for details.",
      "lookup_failed": "Geolocation lookup failed for this IP address.",
      "invalid_ip": "Could not parse the client IP address for this request.",
      "no_ip": "No client IP was available for this request."
    }
  },
  "headers": {
    "empty": "No tracked headers received on this request."
  },
  "js": {
    "unavailable": "JavaScript signals were not available for this analysis.",
    "fp_unavailable": "Fingerprint probes were not available for this analysis."
  },
  "stat_cards": {
    "browser": "Browser",
    "os": "Operating system",
    "device": "Device",
    "unknown": "Unknown"
  },
  "confidence": {
    "high": "High confidence",
    "medium": "Medium confidence",
    "low": "Low confidence"
  },
  "source": {
    "user_agent": "User-Agent",
    "http_headers": "HTTP headers",
    "ip_geolocation": "IP geolocation",
    "javascript": "JavaScript",
    "combined": "Combined analysis"
  },
  "ease": {
    "easy": "Easy",
    "moderate": "Moderate",
    "advanced": "Advanced"
  },
  "impact": {
    "low": "Low impact",
    "medium": "Medium impact",
    "high": "High impact",
    "very_high": "Very high impact"
  },
  "improvement": {
    "heading": "Improve your score",
    "actions_open": "{count} action open",
    "actions_open_plural": "{count} actions open",
    "already_active": "{count} already active",
    "potential_range": "If you complete the top fixes: <strong>{current} → ~{min}–{max}</strong>",
    "potential_score": "Potential score after fixes: <strong>~{max}</strong>",
    "view_checklist": "View full checklist",
    "no_actions": "No improvement actions for this analysis.",
    "recommended": "Recommended next",
    "done": "Already protecting you",
    "limited": "Signals you can't fully hide",
    "disclaimer": "Estimated gains are based on this site's scoring model and your current signals. Real trackers may weight signals differently. Re-run analysis after changing settings.",
    "rerun": "Re-run analysis",
    "mark_done": "Mark as done: {title}",
    "tab_intro": "Score <strong>{score}</strong> · {open} open · {active} active"
  },
  "fingerprint": {
    "copy_full": "Copy full {label}",
    "empty": "Fingerprint probes did not return data.",
    "canvas_randomization": "Detected (hashes differ between draws)",
    "webgl2": "Available",
    "extensions_reported": "{count} reported",
    "voices_hashed": "{count} voices (hashed)"
  },
  "overview": {
    "missing_api": "Privacy summary was not returned by the API. The server is likely running an older build.",
    "protections_heading": "Protections detected",
    "no_protection_data": "No protection data.",
    "concerns_heading": "Top privacy concerns",
    "no_concerns": "No concerns identified.",
    "recommendations_heading": "Recommendations",
    "no_recommendations": "No recommendations.",
    "fingerprint_label": "Your browser fingerprint",
    "copy_hash": "Copy hash",
    "fingerprint_note": "Combined from UA, screen, timezone, hardware hints, and fingerprint probes. <strong>Works across sessions — no cookies needed.</strong> Not stored by this site.",
    "entropy_note": "Estimated fingerprint entropy: ~{bits} bits (independence assumed).",
    "coverage_note": "Core probes: {succeeded}/{total} succeeded.",
    "exposure_badge": "{level} exposure",
    "badge_high": "High exposure — Easily identified",
    "badge_moderate": "Moderate exposure",
    "badge_low": "Low exposure",
    "myth_title": "These do not protect you from fingerprinting",
    "myth_aria": "What does not protect you from fingerprinting"
  },
  "benchmark": {
    "heading": "How you compare",
    "insufficient": "Not enough recent data yet — check back after more visitors have used this site.",
    "demo_note": "Comparison includes <strong>{count} demo sample</strong> seeded by the site operator. Stats will reflect real visitors as traffic grows.",
    "demo_note_plural": "Comparison includes <strong>{count} demo samples</strong> seeded by the site operator. Stats will reflect real visitors as traffic grows.",
    "your_score": "Your privacy score",
    "higher_better": "Higher score = better privacy",
    "percentile": "Scored higher than <strong>{percentile}%</strong> of the last <strong>{sample_size}</strong> analyses on this site.",
    "richness": "Probe richness <strong>{richness}/{max}</strong> — more fingerprintable than <strong>{percentile}%</strong> of recent analyses.",
    "richness_no_pct": "Probe richness <strong>{richness}/{max}</strong> (percentile needs more visitor data).",
    "distribution": "Privacy score distribution",
    "bands": "Exposure bands among recent visitors",
    "band_low": "Low exposure",
    "band_moderate": "Moderate exposure",
    "band_high": "High exposure",
    "histogram_aria": "Privacy score histogram: {parts}",
    "histogram_empty": "Privacy score histogram for recent analyses"
  },
  "stability": {
    "first_title": "Check fingerprint stability",
    "first_body": "Refresh this page once more in this tab to see whether your demo hash stays the same across visits.",
    "stable_title": "Stable fingerprint in this tab",
    "stable_body": "Your demo hash matched the previous analysis in this session — sites can recognize you without cookies when signals stay stable.",
    "changed_title": "Fingerprint hash changed",
    "changed_body": "Your demo hash differs from the last analysis in this tab — randomization, blocked probes, or shifting signals may explain the change."
  },
  "format": {
    "hidpi": "{value}× (HiDPI)",
    "standard_dpi": "{value}× (standard)",
    "cpu_threads": "{count} logical processors",
    "device_memory": "Approximately {gb} GB (bucket)",
    "touch_points": "{count} touch points",
    "pointer_fine": "Fine pointer (mouse or trackpad)",
    "pointer_coarse": "Coarse pointer (touch)",
    "plugins_count": "{count} plugins reported",
    "screen_pixels": "{width} × {height} pixels",
    "color_depth": "{depth}-bit color",
    "avail_area": "(available area {width} × {height})",
    "connection_class": "{type}-class connection",
    "downlink": "downlink {mbps} Mbps",
    "rtt": "RTT {ms} ms",
    "data_saver": "data saver on",
    "utc_offset": "(UTC{sign}{hours})",
    "mobile_client": "Mobile client",
    "desktop_client": "Desktop client",
    "platform": "Platform: {value}",
    "platform_version": "Platform version: {value}",
    "gain_pts": "~+{value} pts",
    "gain_range": "~+{min}–{max} pts"
  },
  "chrome": {
    "nav_aria": "Site navigation",
    "nav_analysis": "Analysis",
    "nav_guides": "Guides",
    "nav_browsers": "Browsers",
    "nav_more_guides": "More guides",
    "nav_privacy": "Privacy",
    "tor_browser": "Tor Browser",
    "link_anti_fingerprinting": "Anti-fingerprinting",
    "link_gpc": "Global Privacy Control",
    "link_client_hints": "Client Hints",
    "link_cookies": "Cookies & site data",
    "link_locale": "Locale & timezone",
    "link_tor_guide": "Tor Browser",
    "link_private_browsing": "Private browsing",
    "link_vpn": "VPN & fingerprinting",
    "link_hub": "Protection hub",
    "footer_tagline": "Free browser privacy analysis — fingerprint score, signal breakdown, and practical guides.",
    "footer_cta": "Run live analysis →",
    "footer_browsers_aria": "Browser pages",
    "footer_browsers_heading": "Browsers",
    "footer_guides_aria": "Protection guides",
    "footer_guides_heading": "Protection guides",
    "footer_more_aria": "More guides",
    "footer_more_heading": "More",
    "footer_version": "How Private Am I? v1.0",
    "footer_geolite_prefix": "GeoLite2 data by "
  },
  "page": {
    "language_label": "Language",
    "tagline": "Browser fingerprinting & privacy analysis",
    "hero_eyebrow": "Browser fingerprinting · Live analysis",
    "hero_headline": "Incognito doesn't hide you.<br><em>Neither does refusing cookies.</em>",
    "hero_sub": "Your browser leaves a unique digital fingerprint — canvas rendering, GPU renderer, installed fonts, screen geometry, timezone — that persists across sessions without any cookies or login. Every site you visit can use it to recognise you.",
    "toolbar_intro": "We just assembled your fingerprint. Scroll down to see exactly what trackers know about you — and whether you stand out from the crowd.",
    "rerun_analysis": "Re-run analysis",
    "scan_headline": "Assembling your digital fingerprint…",
    "scan_canvas": "Canvas fingerprint",
    "scan_webgl": "WebGL / GPU renderer",
    "scan_audio": "Audio fingerprint",
    "scan_fonts": "Font detection",
    "scan_screen": "Screen & display",
    "scan_timezone": "Timezone & locale",
    "scan_network": "Network & connection signals",
    "tab_overview": "Overview",
    "tab_improve": "Improve score",
    "tab_ua": "User-Agent",
    "tab_headers": "HTTP headers",
    "tab_geo": "Geolocation",
    "tab_js": "JavaScript",
    "tab_combined": "Tracking risk",
    "tab_privacy": "Privacy & data",
    "tablist_label": "Analysis sections",
    "ua_summary": "View full User-Agent string",
    "inferences": "Inferences",
    "headers_received": "Headers received",
    "geo_title": "IP geolocation",
    "geo_desc": "Approximate location inferred locally from your IP address. Your IP is not shown in this report.",
    "js_runtime": "Runtime signals",
    "js_runtime_desc": "Values collected via JavaScript and submitted for analysis.",
    "fp_probes": "Advanced fingerprint probes",
    "fp_probes_desc": "Canvas, WebGL, audio, and font probes run automatically on each analysis.",
    "combined_title": "Cross-signal tracking risk",
    "privacy_handling": "Privacy & data handling",
    "limitations": "Accuracy & limitations",
    "manual_title": "Analyze another User-Agent",
    "manual_desc": "Submit a User-Agent string to evaluate server-visible signals for a different client.",
    "manual_placeholder": "Paste a User-Agent string…",
    "manual_analyze": "Analyze User-Agent",
    "seo": {
      "title": "How Private Am I? — Browser privacy & fingerprint analysis",
      "description": "How private am I? Free browser privacy check with fingerprint analysis, privacy score (0–100), and what your User-Agent, headers, and JavaScript reveal.",
      "og_title": "How Private Am I? — Browser privacy & fingerprint analysis",
      "og_description": "Free browser privacy check: fingerprint analysis, privacy score (0–100), and what your User-Agent, headers, and JavaScript signals reveal to websites.",
      "twitter_title": "How Private Am I? — Browser privacy & fingerprint analysis",
      "twitter_description": "Free browser privacy check: fingerprint analysis, privacy score (0–100), and what your User-Agent, headers, and JavaScript signals reveal to websites.",
      "json_ld_description": "Free browser privacy check: fingerprint analysis, privacy score (0–100), and what your User-Agent, headers, and JavaScript signals reveal to websites."
    },
    "footer_nav_aria": "Site pages",
    "footer_geolite_prefix": "This product includes GeoLite2 data created by"
  },
  "faq": {
    "heading": "Frequently asked questions",
    "items": [
      {
        "question": "What is How Private Am I?",
        "answer": "How Private Am I? is a free browser privacy analysis tool. It interprets User-Agent strings, HTTP headers, IP geolocation, and JavaScript signals (including fingerprint probes) to show what websites can infer about your browser and device, plus a privacy score from 0 to 100."
      },
      {
        "question": "What data do you collect?",
        "answer": "When you run an analysis, the service processes signals your browser sends automatically (User-Agent, headers, IP for local geolocation) and optional JavaScript data (screen, language, timezone, canvas/WebGL/audio/font probes). Full results are returned to your browser and are not stored as a personal profile. Anonymized privacy scores may be kept for aggregate comparison. Server logs may record IP, path, and request metadata for operations."
      },
      {
        "question": "What is a privacy score?",
        "answer": "The privacy score is a number from 0 to 100 where a higher score means better privacy. It weights every inference card from your analysis (exposure minus protections, entropy, and cross-signal consistency). The Overview also shows estimated fingerprint entropy in bits and core probe coverage."
      },
      {
        "question": "Can websites really fingerprint my browser?",
        "answer": "Yes. Trackers can combine canvas, WebGL, audio, fonts, screen size, timezone, and other signals to recognize a browser even without cookies. This tool runs similar probes locally so you can see what succeeded during your visit."
      },
      {
        "question": "Is my IP address stored?",
        "answer": "Your raw IP is not shown in the analysis report. It is used locally on the server for approximate geolocation (MaxMind GeoLite2). It may appear in operational request logs depending on how the operator configured logging."
      },
      {
        "question": "How does the comparison with other visitors work?",
        "answer": "After a full analysis, your anonymized privacy score and probe richness (0–8 succeeded probe classes) may be compared to a rolling window of the last 1,000 visits (score, exposure band, browser family, country code, and richness only — no raw fingerprints). The UI notes if demo samples were seeded by the operator."
      },
      {
        "question": "How do I check if my fingerprint is stable?",
        "answer": "Run a full analysis, then refresh the page once more in the same tab. The Overview compares your demo fingerprint hash to the previous run using sessionStorage on your device only. A stable hash means trackers could recognize you without cookies; a changed hash may indicate randomization or blocked probes."
      }
    ]
  }
}
