// TagWave i18n — EN · PT · ES

const LangContext = React.createContext({ lang: "en", setLang: () => {}, tr: null });

function useLang() {
  return React.useContext(LangContext);
}

const TRANSLATIONS = {
  en: {
    nav: {
      features: "Features", comparison: "Comparison", workflow: "Workflow", integrations: "Integrations",
      pricing: "Pricing", testimonials: "Testimonials", faq: "FAQ", signin: "Sign in", signup: "Sign up", download: "Download for Mac",
    },
    hero: {
      version: "v 2.4 — Library Engine", macos: "macOS · 12+", windows: "Windows · 10/11",
      online: "● online", eyebrow: "TAGWAVE — THE LIBRARY MIXED IN KEY CAN'T BUILD",
      h1_l1: "Built for", h1_l2pre: "people who ", h1_italic: "live", h1_l3: "music.",
      body: "TagWave detects key with precision beyond Rekordbox and Serato, classifies every track by energy and mood, organizes your library into dynamic crates — and syncs everything to Rekordbox, Serato, Traktor and Engine DJ in one click. What Mixed In Key analyzes, TagWave analyzes and manages.",
      cta_trial: "Start 14‑day trial", cta_see: "See how it works",
      stat1: "Tracks indexed", stat2: "Avg. cleanup", stat3: "Trusted by",
    },
    logostrip: { label: "Built to live alongside" },
    soon: "Coming soon",
    problem: {
      section: "The mess you inherited",
      h2_pre: "Your library is ", h2_italic1: "chaos",
      h2_mid: "You just got ", h2_italic2: "used", h2_end: " to it.",
      body: "Years of downloads, promos, edits, and rips have turned the folder you depend on into a digital basement. Inconsistent filenames. Missing keys. Duplicate masters. Genre tags that say",
      before: "BEFORE — /Downloads/Music", after: "AFTER — /Library/2026 Q2",
    },
    comparison: {
      section: "Comparison",
      h2_l1: "Mixed In Key analyzes.", h2_l2: "TagWave analyzes and manages.",
      body: "MIK was built for a single job. TagWave was built for the complete workflow — from analysis to export, with no extra tools.",
      col_feature: "Feature", col_mik: "Mixed In Key", col_tw: "TagWave",
      rows: [
        { f: "Key detection (Camelot)", mik: "✓", tw: "✓ superior", twHi: true },
        { f: "BPM detection", mik: "✓", tw: "✓ sub-beat" },
        { f: "Energy level", mik: "basic (1–10)", tw: "✓ nuanced" },
        { f: "Mood / vibe tagging", mik: "✗", tw: "coming soon" },
        { f: "Automatic dynamic crates", mik: "✗", tw: "coming soon" },
        { f: "Library management", mik: "✗", tw: "✓" },
        { f: "Multi-app sync", mik: "✗", tw: "✓" },
        { f: "Cross-platform migration", mik: "✗", tw: "✓" },
        { f: "Future updates included", mik: "✗ pay again", tw: "✓ always", twHi: true },
        { f: "Price", mik: "$99 one-shot", tw: "from $9/mo" },
      ],
      note: "* Mixed In Key doesn't include major updates on previous licenses. MIK 10 users paid again to get MIK 11.",
    },
    software: {
      section: "The console",
      h2_l1: "One window.", h2_italic: "Everything", h2_l2: " in tune.",
      body: "The TagWave console runs in the background while you work. Every imported file is parsed, fingerprinted, key‑detected and waveform‑rendered before you ever click it.",
      app_search: "⌘ K  —  Find a track, artist, key, or BPM…",
      app_engine: "Engine v 2.4.1",
      app_lib: "Library", app_alltracks: "All tracks", app_cleanup: "Needs cleanup",
      app_dupes: "Duplicates", app_recent: "Recently added",
      app_sets: "Sets", app_smart: "Smart", app_sync: "Sync",
      app_set1: "25 May — Klub Echo", app_set2: "01 Jun — Sunday Hours", app_set3: "14 Jun — Boiler / Lis",
      app_smart1: "Warm‑up 118 → 122", app_smart2: "Peak 128 → 132", app_smart3: "Key chain · 8A",
      app_btn1: "Auto‑fix tags", app_btn2: "Detect duplicates", app_btn3: "Re‑analyze key", app_btn4: "Export to Rekordbox",
      app_summary: "4,128 tracks · 186 need cleanup",
      app_col_title: "Title / Artist", app_col_genre: "Genre", app_col_wave: "Wave", app_col_key: "Key", app_col_bpm: "BPM", app_col_len: "Length",
      app_now: "Now selected",
      app_insp_key: "Key", app_insp_bpm: "BPM", app_insp_len: "Length", app_insp_genre: "Genre",
      app_autofix: "AUTO-FIX", app_metadata: "METADATA",
      app_tab_recent: "Recent", app_tab_fav: "Favorites", app_tab_playlist: "Playlists",
      app_btn_bpm: "Analyze BPM", app_btn_enrich: "Enrich", app_btn_export: "Export", app_btn_normalize: "Normalize Tags",
      app_tab_all: "ALL", app_filter_new: "+13", app_filter_star: "★ 0", app_filter_warn: "⚠ 1", app_filter_ok: "✓ 12",
      app_col_cover: "Cover", app_col_artist: "Artist", app_col_year: "Year", app_col_genre_h: "Genre", app_col_type: "Type",
      app_devices: "Devices", app_coverage: "Metadata Coverage", app_top_genres: "Top Genres",
      app_problems: "1 track with issues", app_tracks_count: "13 tracks · 0.06 GB · 49 min",
      app_insp_library: "Library", app_insp_selected: "Selected",
      app_tracks_unit: "tracks",
      app_new_playlist: "New playlist", app_engine_hint: "Export or copy a playlist here",
      app_btn_restore: "Restore Names",
      app_media_audio: "Audio", app_media_video: "Video",
      app_warning: "1 file with identifiable name · 1 missing artist & title",
      app_review: "Review",
      app_problems_n: "4 tracks with issues",
      widget_library: "Library", widget_tracks: "tracks", widget_gb: "GB",
      widget_coverage: "Metadata Coverage",
      widget_bpm: "BPM", widget_key: "Key", widget_genre: "Genre", widget_artwork: "Artwork", widget_rating: "Rating",
      widget_saved: "saved", widget_bpm_label: "bpm",
      widget_title: "Title", widget_artist: "Artist", widget_album: "Album",
    },
    features: {
      section: "What it actually does", h2_l1: "Less organizing.", h2_l2: "More music.",
      f1_label: "01 · Engine", f1_title: "Sub‑beat BPM & key detection.",
      f1_body: "Trained on 1.4M club tracks. Picks up the key change in the breakdown without you noticing. Three decimal places, every time.",
      f1_last: "last 12 tracks",
      f2_label: "02 · ID3", f2_title: "Tags fixed before you open them.",
      f2_body: "Pulls metadata from MusicBrainz and Discogs, cross‑checks them, then writes a single consistent ID3v2.4 block per file. Album art included.",
      f3_label: "03 · Duplicates", f3_title: "Audio‑fingerprint dedupe.",
      f3_body: "Forget filename matching. TagWave hashes the actual waveform — so two “Original Mix” copies at different bitrates are detected as the same track and merged.",
      f3_c1: "3 copies → keep", f3_c2: "2 copies → keep", f3_c3: "5 copies → keep",
      f4_label: "04 · Filenames", f4_title: "One naming convention. Yours.",
      f4_body: "Define a template — {artist} — {title} [{key}/{bpm}] — and TagWave rewrites every file in the library in seconds.",
      f5_label: "05 · Sync", f5_title: "Pushes straight into Rekordbox / Serato.",
      f5_body: "One‑click writes your cleaned library and playlists into the live DB. Cue points, key‑lock and beatgrids preserved.",
      f6_label: "06 · Local‑first", f6_title: "Your library never leaves the machine.",
      f6_body: "Everything runs on‑device. Metadata lookups happen anonymously. No accounts, no cloud upload, no “telemetry”. Period.",
      f6_offline: "offline ready",
      f7_label: "07 · Mood & Energy", f7_title: "Every track has a vibe. TagWave knows which one.",
      f7_body: "Automatically classifies by energy (warm-up, peak time, closing) and mood (dark, euphoric, deep, groovy). Crates that build themselves based on what the music actually conveys.",
      f8_label: "08 · Dynamic Crates", f8_title: "Playlists that update themselves. Always ready.",
      f8_body: "Set rules once — key range, energy level, mood, BPM — and TagWave keeps your crates updated automatically with every new track imported. No manual work.",
    },
    workflow: {
      section: "Workflow",
      h2_l1: "Prepare your next set",
      h2_pre: "in ", h2_italic: "minutes", h2_end: ", not weekends.",
      step1_title: "Point at your music folder.",
      step1_body: "Drop any folder — Downloads, an external SSD, a network share. TagWave indexes incrementally; you keep working.",
      step2_title: "Let the engine listen.",
      step2_body: "Each track is fingerprinted, analyzed for key and BPM, looked up against three metadata sources, and waveform‑rendered.",
      step3_title: "Push it into your set.",
      step3_body: "Approve the changes (or auto‑accept), then one‑click sync into Rekordbox or Serato. Your library, finally a tool.",
    },
    statbreak: {
      section: "A different math",
      body: "The average TagWave user gets back roughly 42 hours of admin time per quarter. That’s a weekend of crate‑digging instead of folder‑digging.",
    },
    integrations: {
      section: "Integrations",
      h2_pre: "Plays well with the ", h2_italic: "booth", h2_end: ".",
      body: "TagWave doesn’t replace your DJ software — it cleans the library that feeds it. Native sync with Rekordbox & Serato. Read‑only references to Spotify and Apple Music for metadata enrichment.",
    },
    pricing: {
      section: "Pricing", h2_l1: "Choose how", h2_italic: "you grow", h2_end: ".",
      body: "Monthly subscription to get started. Annual plan with a discount for consistency. Lifetime to pay once and never think about it again — all future updates included, no asterisk.",
      starter_label: "Starter", starter_price: "$9", starter_per: "/mo",
      starter_annual: "or $79/yr — save 27%",
      starter_sub: "monthly · no commitment",
      starter_f1: "BPM & key detection (Camelot)",
      starter_f2: "Automatic cue points",
      starter_f3: "Enrich (iTunes/Spotify) + AcoustID",
      starter_f4: "Sync with 1 DJ app (Rekordbox or Serato)",
      starter_f5: "Up to 2,000 tracks in library",
      starter_f6: "Energy level (coming soon)",
      starter_note: "Adds the engine: analysis + sync. For DJs migrating from Mixed In Key.",
      free_label: "Free", free_price: "$0", free_per: "",
      free_sub: "organize free · forever",
      free_f1: "Browse your full library (covers, waveforms)",
      free_f2: "Playlists, favorites, ratings, manual tag editing",
      free_f3: "Player with cue playback",
      free_f4: "Reconnect lost tracks",
      free_f5: "M3U export",
      free_note: "Starts with 14 days of full Pro. Then organize free, forever.",
      free_cta: "Download free",
      starter_cta: "Start free trial",
      pro_badge: "Most popular",
      pro_label: "Pro", pro_price: "$22", pro_per: "/mo",
      pro_annual: "or $190/yr — save 28%",
      pro_sub: "monthly · 14 days free",
      pro_f1: "Everything in Starter",
      pro_f2: "Unlimited multi-app sync (Rekordbox, Serato, Traktor, VirtualDJ, Engine DJ)",
      pro_f3: "Unlimited library",
      pro_f4: "Priority support",
      pro_f5: "AI mood + vibe tagging (coming soon)",
      pro_f6: "Automatic dynamic crates (coming soon)",
      pro_f7: "Cloud library backup (coming soon)",
      pro_f8: "Monthly collection report (coming soon)",
      pro_note: "Replaces Mixed In Key + Lexicon DJ combined. 27% cheaper with more features.",
      pro_cta: "Start Pro trial",
      life_label: "Lifetime Pro", life_price: "$279", life_per: "",
      life_annual: "one-time · forever",
      life_sub: "no monthly fee · no asterisk",
      life_f1: "All Pro features",
      life_f2: "All future updates included",
      life_f3: "Future major releases included",
      life_f4: "Permanent priority support",
      life_f5: "Never pay again",
      life_quote: "Mixed In Key charges again for every major version. TagWave Lifetime is different: pay once, get everything forever.",
      life_breakeven: "Breakeven vs. Pro monthly: 12.7 months",
      life_cta: "Buy Lifetime",
      footnote: "All plans include a license key for one device. Questions?",
    },
    testimonials: {
      section: "What DJs say", h2_pre: "Trusted by the ", h2_italic: "people", h2_end: " behind the decks.",
      items: [
        { quote: "I spent more time fixing tags than actually playing. TagWave cleaned four years of chaos in a single afternoon. Now my Rekordbox sets feel like mine again.", name: "Mariana Voss", role: "Resident DJ · Tresor, Berlin", avatar: "MV" },
        { quote: "The key detection is on another level — I finally trust my harmonic mixes without double-checking. The export to Serato is seamless, no cue points lost.", name: "Daan Hollander", role: "DJ & Producer · ADE resident", avatar: "DH" },
        { quote: "I manage libraries for six DJs. TagWave cut my workflow in half. The batch rename alone saved us from an embarrassing gig where two tracks had the same filename.", name: "Priya Mehta", role: "DJ Manager · Mumbai / London", avatar: "PM" },
        { quote: "The waveform rendering is beautiful. What sold me was the duplicate detection — it found 340 duplicates I had no idea about across two external drives.", name: "Carlos Espejo", role: "Techno DJ · Output, NYC", avatar: "CE" },
      ],
    },
    faq: {
      section: "Questions", h2_pre: "The fine ", h2_italic: "print", h2_end: ".",
      q1: "Does TagWave modify the actual audio files?",
      a1: "It only rewrites ID3 / Vorbis / iXML metadata blocks, optionally renames files, and stores its own analysis (key, BPM, waveform) in a local SQLite library. The audio itself is never re‑encoded or touched.",
      q2: "What formats are supported?",
      a2: "MP3, AIFF, WAV, FLAC, ALAC, AAC and OGG. Lossless files keep their headers; lossy files keep their original encoder data intact.",
      q3: "Is there a cloud component? Where does my data go?",
      a3: "Everything runs locally. Metadata lookups (MusicBrainz, Discogs) are anonymous HTTPS calls. No account, no telemetry, no library upload. Ever.",
      q4: "Will it overwrite my Rekordbox cue points?",
      a4: "No. Sync writes new tracks and tag updates into your Rekordbox / Serato library while preserving cue points, hot cues, beatgrids and key‑lock. Existing analysis is respected.",
      q5: "Can I undo the changes?",
      a5: "Yes — every batch run is journaled and reversible from the History panel. You can roll back filename, tag or artwork changes per‑file or per‑run.",
      q6: "Do I get updates after I buy?",
      a6: "Two years of free updates with the Lifetime license. After that, paid major upgrades are optional — your current version keeps working forever.",
    },
    footer: {
      tagline: "A library engine for people who live music. Built in Lisbon & Berlin.",
      col_product: "Product", col_resources: "Resources", col_company: "Company", col_legal: "Legal",
      links_product: ["Features", "Workflow", "Integrations", "Pricing", "Changelog"],
      links_resources: ["Docs", "Tag templates", "Naming presets", "Support"],
      links_company: ["About", "Manifesto", "Press kit", { label: "Contact", href: "contact.html" }],
      links_legal: [{ label: "Privacy", href: "/privacy" }, { label: "Terms", href: "/terms" }, { label: "Refund", href: "/refund" }, "License", "EU residents"],
      copyright: "© 2026 TagWave Audio Tools, Lda.",
      build: "v 2.4.1 — built on a Thursday, in", build_color: "orange",
    },
    contact: {
      eyebrow: "CONTACT",
      h1: "Let's", h1_italic: "talk", h1_end: ".",
      subtitle: "Have a question, a bug to report, or just want to say hello? We read every message.",
      form_name: "Your name", form_email: "Your email address", form_message: "Your message",
      ph_name: "Helios Drift", ph_email: "you@example.com", ph_message: "Tell us what's on your mind…",
      submit: "Send message", note: "We typically reply within 24 hours.",
      sending: "Sending…",
      sent_title: "Message sent.", sent_body: "We'll get back to you within 24 hours.",
      error: "Something went wrong. Try again or email us directly.",
      info_label: "OR REACH US DIRECTLY",
      email: "contato@tagwave.app",
      location: "Lisbon & Berlin",
      location_label: "Based in",
      response_label: "Avg. response", response_val: "< 24h",
    },
    login: {
      title: "Welcome back", sub: "Sign in to your TagWave account",
      name: "Name", email: "Email", password: "Password",
      forgot: "Forgot password?",
      forgot_title: "Reset your password", forgot_sub: "Enter your email and we'll send you a reset link.",
      forgot_btn: "Send reset link", forgot_sent_title: "Check your inbox",
      forgot_sent_body: "We sent a reset link to", forgot_back_login: "Back to sign in",
      btn_login: "Sign in", btn_signup: "Create account",
      or: "or", google: "Continue with Google", apple: "Continue with Apple",
      no_account: "Don't have an account?", has_account: "Already have an account?",
      link_signup: "Sign up", link_signin: "Sign in",
      back: "← Back to TagWave", back_short: "Back to TagWave", cancel: "Cancel",
      plan_label: "Choose your plan",
      free_name: "Free", free_desc: "Up to 500 tracks · Basic analysis",
      trial_name: "Pro Trial", trial_desc: "All features · 14 days free",
      terms: "By creating an account you agree to the",
      terms_link: "Terms of Service", and: "and", privacy: "Privacy Policy",
    },
    account: {
      title: "My account", back: "Back to TagWave",
      section_profile: "Profile", section_password: "Password", section_license: "License", section_danger: "Danger zone",
      label_name: "Name", label_email: "Email", label_current_pass: "Current password", label_new_pass: "New password", label_confirm_pass: "Confirm new password",
      btn_save: "Save changes", btn_change_pass: "Update password", btn_logout: "Sign out", btn_cancel_account: "Cancel account",
      license_plan: "Plan", license_status: "Status", license_expires: "Expires on", license_tracks: "Tracks indexed",
      license_trial_days: "days remaining", license_trial_of: "of", license_subscribe: "Subscribe to Pro",
      status_active: "Active", status_trial: "Trial", status_expired: "Expired",
      plan_free: "Free", plan_pro: "Pro",
      section_usage: "Usage",
      usage_files: "Files processed", usage_edits: "Tags edited", usage_sessions: "Sessions", usage_since: "Member since",
      saved: "Saved!", error_pass: "Passwords do not match.",
      logout_confirm: "Sign out of TagWave?", danger_warning: "This will permanently delete your account and all data.",
    },
  },

  pt: {
    nav: {
      features: "Funcionalidades", comparison: "Comparativo", workflow: "Fluxo de trabalho", integrations: "Integrações",
      pricing: "Preços", testimonials: "Depoimentos", faq: "FAQ", signin: "Entrar", signup: "Cadastrar", download: "Download para Mac",
    },
    hero: {
      version: "v 2.4 — Motor de Biblioteca", macos: "macOS · 12+", windows: "Windows · 10/11",
      online: "● online", eyebrow: "TAGWAVE — A BIBLIOTECA QUE O MIXED IN KEY NÃO CONSEGUE CONSTRUIR",
      h1_l1: "Feito para", h1_l2pre: "quem ", h1_italic: "vive", h1_l3: "a música.",
      body: "O TagWave detecta tonalidade com precisão superior ao Rekordbox e Serato, classifica cada faixa por energia e mood, organiza a biblioteca em crates dinâmicos — e sincroniza tudo com Rekordbox, Serato, Traktor e Engine DJ em um clique. O que o Mixed In Key analisa, o TagWave analisa e gerencia.",
      cta_trial: "Começar trial de 14 dias", cta_see: "Ver como funciona",
      stat1: "Faixas indexadas", stat2: "Limpeza média", stat3: "Confiado por",
    },
    logostrip: { label: "Construído para viver ao lado de" },
    soon: "Em breve",
    problem: {
      section: "A baguncinha que você herdou",
      h2_pre: "A sua biblioteca é ", h2_italic1: "caos",
      h2_mid: "Você só se ", h2_italic2: "acostumou", h2_end: ".",
      body: "Anos de downloads, promos, edits e rips transformaram a pasta de que depende numa cave digital. Nomes de ficheiros inconsistentes. Tonalidades em falta. Masters duplicados. Genre tags que dizem",
      before: "ANTES — /Downloads/Music", after: "DEPOIS — /Library/2026 T2",
    },
    comparison: {
      section: "Comparativo",
      h2_l1: "Mixed In Key analisa.", h2_l2: "TagWave analisa e cuida.",
      body: "O MIK foi feito para um único trabalho. O TagWave foi feito para o fluxo de trabalho completo — da análise à exportação, sem ferramentas extras.",
      col_feature: "Recurso", col_mik: "Mixed In Key", col_tw: "TagWave",
      rows: [
        { f: "Detecção de tonalidade (Camelot)", mik: "✓", tw: "✓ superior", twHi: true },
        { f: "Detecção de BPM", mik: "✓", tw: "✓ sub-beat" },
        { f: "Nível de energia", mik: "básico (1–10)", tw: "✓ detalhado" },
        { f: "Tags de mood / vibe", mik: "✗", tw: "em breve" },
        { f: "Crates dinâmicos automáticos", mik: "✗", tw: "em breve" },
        { f: "Gestão de biblioteca", mik: "✗", tw: "✓" },
        { f: "Sincronização multi-app", mik: "✗", tw: "✓" },
        { f: "Migração entre plataformas", mik: "✗", tw: "✓" },
        { f: "Atualizações futuras incluídas", mik: "✗ paga de novo", tw: "✓ sempre", twHi: true },
        { f: "Preço", mik: "$99 pagamento único", tw: "desde $9/mês" },
      ],
      note: "* Mixed In Key não inclui atualizações major em licenças anteriores. Usuários do MIK 10 pagaram novamente para ter o MIK 11.",
    },
    software: {
      section: "A consola",
      h2_l1: "Uma janela.", h2_italic: "Tudo", h2_l2: " em sintonia.",
      body: "A consola do TagWave corre em segundo plano enquanto trabalha. Cada ficheiro importado é analisado, identificado por impressão digital, com tonalidade detectada e forma de onda renderizada antes de clicar nele.",
      app_search: "⌘ K  —  Busca por faixa, artista, tom ou BPM…",
      app_engine: "Motor v 2.4.1",
      app_lib: "Biblioteca", app_alltracks: "Todas as faixas", app_cleanup: "Precisa de ajuste",
      app_dupes: "Duplicados", app_recent: "Adicionados recentemente",
      app_sets: "Sets", app_smart: "Smart", app_sync: "Sincronização",
      app_set1: "25 Mai — Klub Echo", app_set2: "01 Jun — Sunday Hours", app_set3: "14 Jun — Boiler / Lis",
      app_smart1: "Aquecimento 118 → 122", app_smart2: "Pico 128 → 132", app_smart3: "Cadeia · 8A",
      app_btn1: "Corrigir tags", app_btn2: "Detetar duplicados", app_btn3: "Re-analisar tom", app_btn4: "Exportar p/ Rekordbox",
      app_summary: "4.128 faixas · 186 precisam de ajuste",
      app_col_title: "Título / Artista", app_col_genre: "Género", app_col_wave: "Onda", app_col_key: "Tom", app_col_bpm: "BPM", app_col_len: "Duração",
      app_now: "Selecionado agora",
      app_insp_key: "Tom", app_insp_bpm: "BPM", app_insp_len: "Duração", app_insp_genre: "Género",
      app_autofix: "AUTO-CORR", app_metadata: "METADADOS",
      app_tab_recent: "Recentes", app_tab_fav: "Favoritos", app_tab_playlist: "Playlists",
      app_btn_bpm: "Analisar BPM", app_btn_enrich: "Enriquecer", app_btn_export: "Exportar", app_btn_normalize: "Normalizar Tags",
      app_tab_all: "TODAS", app_filter_new: "+13", app_filter_star: "★ 0", app_filter_warn: "⚠ 1", app_filter_ok: "✓ 12",
      app_col_cover: "Capa", app_col_artist: "Artista", app_col_year: "Ano", app_col_genre_h: "Gênero", app_col_type: "Tipo",
      app_devices: "Dispositivos", app_coverage: "Cobertura de Metadados", app_top_genres: "Top Gêneros",
      app_problems: "1 faixa com problemas", app_tracks_count: "13 faixas · 0.06 GB · 49 min",
      app_insp_library: "Biblioteca", app_insp_selected: "Selecionado",
      app_tracks_unit: "faixas",
      app_new_playlist: "Nova playlist", app_engine_hint: "Exporte ou copie uma playlist aqui",
      app_btn_restore: "Restaurar de Nomes",
      app_media_audio: "Áudio", app_media_video: "Vídeo",
      app_warning: "1 faixa com nome de arquivo identificável · 1 sem artista e título",
      app_review: "Revisar",
      app_problems_n: "4 faixas com problemas",
      widget_library: "Biblioteca", widget_tracks: "faixas", widget_gb: "GB",
      widget_coverage: "Cobertura de Metadados",
      widget_bpm: "BPM", widget_key: "Tom", widget_genre: "Gênero", widget_artwork: "Capa", widget_rating: "Rating",
      widget_saved: "salvo", widget_bpm_label: "bpm",
      widget_title: "Título", widget_artist: "Artista", widget_album: "Álbum",
    },
    features: {
      section: "O que realmente faz", h2_l1: "Menos organização.", h2_l2: "Mais música.",
      f1_label: "01 · Motor", f1_title: "Deteção de BPM e tonalidade sub‑beat.",
      f1_body: "Treinado em 1,4M de faixas de clube. Detecta a mudança de tonalidade na quebra sem você notar. Três casas decimais, sempre.",
      f1_last: "últimas 12 faixas",
      f2_label: "02 · ID3", f2_title: "Tags corrigidas antes de abrir.",
      f2_body: "Obtém metadados do MusicBrainz e Discogs, cruza‑os e escreve um bloco ID3v2.4 consistente por ficheiro. Arte do álbum incluída.",
      f3_label: "03 · Duplicados", f3_title: "Deduplicidade por impressão digital de áudio.",
      f3_body: "Esqueça a comparação por nome de ficheiro. O TagWave gera hash da forma de onda real — dois ficheiros “Original Mix” em bitrates diferentes são detetados como a mesma faixa e fundidos.",
      f3_c1: "3 cópias → manter", f3_c2: "2 cópias → manter", f3_c3: "5 cópias → manter",
      f4_label: "04 · Nomes", f4_title: "Uma convenção de nomes. A sua.",
      f4_body: "Defina um template — {artist} — {title} [{key}/{bpm}] — e o TagWave reescreve todos os ficheiros da biblioteca em segundos.",
      f5_label: "05 · Sincronização", f5_title: "Envia diretamente para o Rekordbox / Serato.",
      f5_body: "Um clique escreve a sua biblioteca limpa e as playlists na base de dados live. Cue points, key‑lock e beatgrids preservados.",
      f6_label: "06 · Local‑first", f6_title: "A sua biblioteca nunca sai do dispositivo.",
      f6_body: "Tudo corre localmente. As pesquisas de metadados são chamadas HTTPS anónimas. Sem contas, sem upload para a cloud, sem “telemetria”. Ponto final.",
      f6_offline: "pronto offline",
      f7_label: "07 · Mood & Energy", f7_title: "Cada faixa tem uma vibe. O TagWave sabe qual é.",
      f7_body: "Classifica automaticamente por energia (warm-up, peak time, closing) e mood (dark, euphoric, deep, groovy). Crates que se constroem sozinhos baseados no que a música realmente transmite.",
      f8_label: "08 · Dynamic Crates", f8_title: "Playlists que se atualizam. Sempre prontas.",
      f8_body: "Defina regras uma vez — faixa de tonalidade, nível de energia, mood, BPM — e o TagWave mantém os crates atualizados automaticamente a cada nova faixa importada. Sem trabalho manual.",
    },
    workflow: {
      section: "Fluxo de trabalho",
      h2_l1: "Prepare o seu próximo set",
      h2_pre: "em ", h2_italic: "minutos", h2_end: ", não fins de semana.",
      step1_title: "Aponte para a sua pasta de música.",
      step1_body: "Arraste qualquer pasta — Downloads, um SSD externo, uma partilha de rede. O TagWave indexa incrementalmente; continue a trabalhar.",
      step2_title: "Deixe o motor ouvir.",
      step2_body: "Cada faixa é identificada por impressão digital, analisada quanto à tonalidade e BPM, consultada em três fontes de metadados e renderizada com forma de onda.",
      step3_title: "Envie para o seu set.",
      step3_body: "Aprove as alterações (ou aceite automaticamente), depois sincronize com um clique para o Rekordbox ou Serato. A sua biblioteca, finalmente uma ferramenta.",
    },
    statbreak: {
      section: "Uma matemática diferente",
      body: "O utilizador médio do TagWave recupera cerca de 42 horas de trabalho administrativo por trimestre. É um fim de semana a descobrir música nova em vez de organizar pastas.",
    },
    integrations: {
      section: "Integrações",
      h2_pre: "Funciona bem com o ", h2_italic: "booth", h2_end: ".",
      body: "O TagWave não substitui o seu software de DJ — limpa a biblioteca que o alimenta. Sincronização nativa com Rekordbox e Serato. Referências somente de leitura ao Spotify e Apple Music para enriquecimento de metadados.",
    },
    pricing: {
      section: "Preços", h2_l1: "Escolha como", h2_italic: "crescer", h2_end: ".",
      body: "Assinatura mensal para quem está começando. Plano anual com desconto para quem quer consistência. Lifetime para quem quer pagar uma vez e nunca mais pensar nisso — com todas as atualizações futuras incluídas, sem asterisco.",
      starter_label: "Starter", starter_price: "$9", starter_per: "/mês",
      starter_annual: "ou $79/ano — economize 27%",
      starter_sub: "pagamento mensal · sem fidelidade",
      starter_f1: "Detecção de BPM e tonalidade (Camelot)",
      starter_f2: "Cue points automáticos",
      starter_f3: "Enriquecer (iTunes/Spotify) + AcoustID",
      starter_f4: "Sincronização com 1 app DJ (Rekordbox ou Serato)",
      starter_f5: "Até 2.000 faixas na biblioteca",
      starter_f6: "Energy level (em breve)",
      starter_note: "Adiciona o motor: análise + sync. Para DJs migrando do Mixed In Key.",
      free_label: "Free", free_price: "$0", free_per: "",
      free_sub: "organize grátis · para sempre",
      free_f1: "Ver a biblioteca completa (capas, waveform)",
      free_f2: "Playlists, favoritos, ratings, edição manual de tags",
      free_f3: "Player com cue playback",
      free_f4: "Reconectar faixas perdidas",
      free_f5: "Export M3U",
      free_note: "Começa com 14 dias de Pro completo. Depois, organize grátis pra sempre.",
      free_cta: "Baixar grátis",
      starter_cta: "Começar trial gratuito",
      pro_badge: "Mais popular",
      pro_label: "Pro", pro_price: "$22", pro_per: "/mês",
      pro_annual: "ou $190/ano — economize 28%",
      pro_sub: "pagamento mensal · 14 dias grátis",
      pro_f1: "Tudo do Starter",
      pro_f2: "Sincronização multi-app ilimitada (Rekordbox, Serato, Traktor, VirtualDJ, Engine DJ)",
      pro_f3: "Biblioteca ilimitada",
      pro_f4: "Suporte prioritário",
      pro_f5: "Tags de mood + vibe com IA (em breve)",
      pro_f6: "Crates dinâmicos automáticos (em breve)",
      pro_f7: "Backup da biblioteca na nuvem (em breve)",
      pro_f8: "Relatório mensal da coleção (em breve)",
      pro_note: "Substitui Mixed In Key + Lexicon DJ juntos. 27% mais barato com mais recursos.",
      pro_cta: "Começar trial Pro",
      life_label: "Lifetime Pro", life_price: "$279", life_per: "",
      life_annual: "pagamento único · para sempre",
      life_sub: "sem mensalidade · sem asterisco",
      life_f1: "Todos os recursos Pro",
      life_f2: "Todas as atualizações futuras incluídas",
      life_f3: "Grandes versões futuras incluídas",
      life_f4: "Suporte prioritário permanente",
      life_f5: "Nunca pague de novo",
      life_quote: "Mixed In Key cobra de novo a cada versão major. O TagWave Lifetime é diferente: pague uma vez, receba tudo para sempre.",
      life_breakeven: "Se paga vs. Pro mensal em 12,7 meses",
      life_cta: "Comprar Lifetime",
      footnote: "Todos os planos incluem uma chave de licença para um dispositivo. Dúvidas?",
    },
    testimonials: {
      section: "O que os DJs dizem", h2_pre: "A confiança de quem ", h2_italic: "vive", h2_end: " atrás das pick-ups.",
      items: [
        { quote: "Eu passava mais tempo corrigindo tags do que tocando. O TagWave limpou quatro anos de caos numa tarde. Agora os meus sets no Rekordbox parecem meus de verdade.", name: "Mariana Voss", role: "DJ Residente · Tresor, Berlim", avatar: "MV" },
        { quote: "A detecção de tom é outro nível — finalmente confio nos meus mixes harmônicos sem precisar verificar duas vezes. A exportação para o Serato é perfeita, sem perder cue points.", name: "Daan Hollander", role: "DJ & Produtor · Residente ADE", avatar: "DH" },
        { quote: "Gerencio bibliotecas de seis DJs. O TagWave cortou meu fluxo de trabalho pela metade. Só o renomeamento em lote nos salvou de uma situação embaraçosa num set.", name: "Priya Mehta", role: "Gestora de DJs · Mumbai / Londres", avatar: "PM" },
        { quote: "A renderização das waveforms é linda. O que me convenceu foi a detecção de duplicatas — encontrou 340 que eu não sabia que existiam em dois HDs externos.", name: "Carlos Espejo", role: "DJ de Techno · Output, NYC", avatar: "CE" },
      ],
    },
    faq: {
      section: "Perguntas", h2_pre: "As letras ", h2_italic: "pequenas", h2_end: ".",
      q1: "O TagWave modifica os ficheiros de áudio?",
      a1: "Apenas reescreve blocos de metadados ID3 / Vorbis / iXML, opcionalmente renomeia ficheiros e armazena a sua própria análise (tonalidade, BPM, forma de onda) numa biblioteca SQLite local. O áudio em si nunca é re‑codificado ou tocado.",
      q2: "Que formatos são suportados?",
      a2: "MP3, AIFF, WAV, FLAC, ALAC, AAC e OGG. Os ficheiros sem perdas mantêm os seus cabeçalhos; os ficheiros com perdas mantêm os dados originais do codificador intactos.",
      q3: "Existe um componente na cloud? Para onde vão os meus dados?",
      a3: "Tudo corre localmente. As pesquisas de metadados (MusicBrainz, Discogs) são chamadas HTTPS anónimas. Sem conta, sem telemetria, sem upload da biblioteca. Nunca.",
      q4: "Vai sobrescrever os meus cue points do Rekordbox?",
      a4: "Não. A sincronização escreve novas faixas e atualizações de tags na sua biblioteca do Rekordbox / Serato preservando cue points, hot cues, beatgrids e key‑lock. A análise existente é respeitada.",
      q5: "Posso desfazer as alterações?",
      a5: "Sim — cada execução em lote é registada e reversível a partir do painel Histórico. Pode reverter alterações de nome de ficheiro, tag ou arte por ficheiro ou por execução.",
      q6: "Recebo atualizações depois de comprar?",
      a6: "Dois anos de atualizações gratuitas com a licença Vitalícia. Depois disso, as grandes atualizações pagas são opcionais — a sua versão atual continua a funcionar para sempre.",
    },
    footer: {
      tagline: "Um motor de biblioteca para quem vive a música. Feito em Lisboa e Berlim.",
      col_product: "Produto", col_resources: "Recursos", col_company: "Empresa", col_legal: "Legal",
      links_product: ["Funcionalidades", "Fluxo de trabalho", "Integrações", "Preços", "Changelog"],
      links_resources: ["Documentação", "Templates de tags", "Presets de nomes", "Suporte"],
      links_company: ["Sobre nós", "Manifesto", "Imprensa", { label: "Contacto", href: "contact.html" }],
      links_legal: [{ label: "Privacidade", href: "/privacy" }, { label: "Termos", href: "/terms" }, { label: "Reembolso", href: "/refund" }, "Licença", "Residentes UE"],
      copyright: "© 2026 TagWave Audio Tools, Lda.",
      build: "v 2.4.1 — construído numa quinta-feira, em", build_color: "laranja",
    },
    contact: {
      eyebrow: "CONTACTO",
      h1: "Vamos", h1_italic: "falar", h1_end: ".",
      subtitle: "Tem uma pergunta, um bug para reportar, ou só quer dizer olá? Lemos todas as mensagens.",
      form_name: "O seu nome", form_email: "O seu e-mail", form_message: "A sua mensagem",
      ph_name: "Helios Drift", ph_email: "voce@exemplo.com", ph_message: "Conte-nos o que tem em mente…",
      submit: "Enviar mensagem", note: "Respondemos normalmente em menos de 24 horas.",
      sending: "A enviar…",
      sent_title: "Mensagem enviada.", sent_body: "Voltamos ao contacto em até 24 horas.",
      error: "Algo correu mal. Tente novamente ou escreva-nos diretamente.",
      info_label: "OU CONTACTE-NOS DIRETAMENTE",
      email: "contato@tagwave.app",
      location: "Lisboa & Berlim",
      location_label: "Baseados em",
      response_label: "Resposta média", response_val: "< 24h",
    },
    login: {
      title: "Bem-vindo de volta", sub: "Entre na sua conta TagWave",
      name: "Nome", email: "E-mail", password: "Senha",
      forgot: "Esqueceu a senha?",
      forgot_title: "Redefinir senha", forgot_sub: "Informe seu e-mail e enviaremos um link de redefinição.",
      forgot_btn: "Enviar link", forgot_sent_title: "Verifique seu e-mail",
      forgot_sent_body: "Enviamos um link de redefinição para", forgot_back_login: "Voltar para o login",
      btn_login: "Entrar", btn_signup: "Criar conta",
      or: "ou", google: "Continuar com Google", apple: "Continuar com Apple",
      no_account: "Não tem uma conta?", has_account: "Já tem uma conta?",
      link_signup: "Cadastre-se", link_signin: "Entrar",
      back: "← Voltar ao TagWave", back_short: "Voltar ao TagWave", cancel: "Cancelar",
      plan_label: "Escolha seu plano",
      free_name: "Grátis", free_desc: "Até 500 faixas · Análise básica",
      trial_name: "Pro Trial", trial_desc: "Todos os recursos · 14 dias grátis",
      terms: "Ao criar uma conta você concorda com os",
      terms_link: "Termos de Uso", and: "e a", privacy: "Política de Privacidade",
    },
    account: {
      title: "Minha conta", back: "Voltar ao TagWave",
      section_profile: "Perfil", section_password: "Senha", section_license: "Licença", section_danger: "Zona de perigo",
      label_name: "Nome", label_email: "E-mail", label_current_pass: "Senha atual", label_new_pass: "Nova senha", label_confirm_pass: "Confirmar nova senha",
      btn_save: "Salvar alterações", btn_change_pass: "Atualizar senha", btn_logout: "Sair", btn_cancel_account: "Cancelar conta",
      license_plan: "Plano", license_status: "Status", license_expires: "Expira em", license_tracks: "Faixas indexadas",
      license_trial_days: "dias restantes", license_trial_of: "de", license_subscribe: "Assinar o Pro",
      status_active: "Ativo", status_trial: "Trial", status_expired: "Expirado",
      plan_free: "Grátis", plan_pro: "Pro",
      section_usage: "Uso",
      usage_files: "Arquivos processados", usage_edits: "Tags editadas", usage_sessions: "Sessões", usage_since: "Membro desde",
      saved: "Salvo!", error_pass: "As senhas não coincidem.",
      logout_confirm: "Sair do TagWave?", danger_warning: "Isso excluirá permanentemente sua conta e todos os dados.",
    },
  },

  es: {
    nav: {
      features: "Funciones", comparison: "Comparativa", workflow: "Flujo de trabajo", integrations: "Integraciones",
      pricing: "Precios", testimonials: "Testimonios", faq: "FAQ", signin: "Iniciar sesión", signup: "Registrarse", download: "Descargar para Mac",
    },
    hero: {
      version: "v 2.4 — Motor de Biblioteca", macos: "macOS · 12+", windows: "Windows · 10/11",
      online: "● en línea", eyebrow: "TAGWAVE — LA BIBLIOTECA QUE MIXED IN KEY NO PUEDE CONSTRUIR",
      h1_l1: "Hecho para", h1_l2pre: "quienes ", h1_italic: "viven", h1_l3: "la música.",
      body: "TagWave detecta la tonalidad con precisión superior a Rekordbox y Serato, clasifica cada pista por energía y mood, organiza la biblioteca en crates dinámicos — y sincroniza todo con Rekordbox, Serato, Traktor y Engine DJ en un clic. Lo que Mixed In Key analiza, TagWave lo analiza y lo gestiona.",
      cta_trial: "Comenzar prueba de 14 días", cta_see: "Ver cómo funciona",
      stat1: "Pistas indexadas", stat2: "Limpieza media", stat3: "De confianza para",
    },
    logostrip: { label: "Construído para vivir junto a" },
    soon: "Próximamente",
    problem: {
      section: "El caos que heredaste",
      h2_pre: "Tu biblioteca es ", h2_italic1: "un caos",
      h2_mid: "Solo te ", h2_italic2: "acostumbraste", h2_end: ".",
      body: "Años de descargas, promos, edits y rips han convertido la carpeta de la que dependes en un sótano digital. Nombres de archivo inconsistentes. Tonalidades que faltan. Masters duplicados. Etiquetas de género que dicen",
      before: "ANTES — /Downloads/Music", after: "DESPUÉS — /Library/2026 T2",
    },
    comparison: {
      section: "Comparativa",
      h2_l1: "Mixed In Key analiza.", h2_l2: "TagWave analiza y gestiona.",
      body: "MIK fue hecho para un solo trabajo. TagWave fue hecho para el flujo de trabajo completo — del análisis a la exportación, sin herramientas extra.",
      col_feature: "Función", col_mik: "Mixed In Key", col_tw: "TagWave",
      rows: [
        { f: "Detección de tonalidad (Camelot)", mik: "✓", tw: "✓ superior", twHi: true },
        { f: "Detección de BPM", mik: "✓", tw: "✓ sub-beat" },
        { f: "Nivel de energía", mik: "básico (1–10)", tw: "✓ matizado" },
        { f: "Tags de mood / vibe", mik: "✗", tw: "próximamente" },
        { f: "Crates dinámicos automáticos", mik: "✗", tw: "próximamente" },
        { f: "Gestión de biblioteca", mik: "✗", tw: "✓" },
        { f: "Sincronización multi-app", mik: "✗", tw: "✓" },
        { f: "Migración entre plataformas", mik: "✗", tw: "✓" },
        { f: "Actualizaciones futuras incluidas", mik: "✗ pagas de nuevo", tw: "✓ siempre", twHi: true },
        { f: "Precio", mik: "$99 pago único", tw: "desde $9/mes" },
      ],
      note: "* Mixed In Key no incluye actualizaciones major en licencias anteriores. Los usuarios de MIK 10 pagaron de nuevo para tener MIK 11.",
    },
    software: {
      section: "La consola",
      h2_l1: "Una ventana.", h2_italic: "Todo", h2_l2: " en sintonía.",
      body: "La consola de TagWave se ejecuta en segundo plano mientras trabajas. Cada archivo importado es analizado, identificado por huella digital, con tonalidad detectada y forma de onda renderizada antes de que hagas clic.",
      app_search: "⌘ K  —  Busca pista, artista, tono o BPM…",
      app_engine: "Motor v 2.4.1",
      app_lib: "Biblioteca", app_alltracks: "Todas las pistas", app_cleanup: "Necesita ajuste",
      app_dupes: "Duplicados", app_recent: "Añadidos recientemente",
      app_sets: "Sets", app_smart: "Smart", app_sync: "Sincronización",
      app_set1: "25 May — Klub Echo", app_set2: "01 Jun — Sunday Hours", app_set3: "14 Jun — Boiler / Lis",
      app_smart1: "Calentamiento 118 → 122", app_smart2: "Pico 128 → 132", app_smart3: "Cadena · 8A",
      app_btn1: "Corregir tags", app_btn2: "Detectar duplicados", app_btn3: "Re-analizar tono", app_btn4: "Exportar a Rekordbox",
      app_summary: "4.128 pistas · 186 necesitan ajuste",
      app_col_title: "Título / Artista", app_col_genre: "Género", app_col_wave: "Onda", app_col_key: "Tono", app_col_bpm: "BPM", app_col_len: "Duración",
      app_now: "Seleccionado ahora",
      app_insp_key: "Tono", app_insp_bpm: "BPM", app_insp_len: "Duración", app_insp_genre: "Género",
      app_autofix: "AUTO-CORR", app_metadata: "METADATOS",
      app_tab_recent: "Recientes", app_tab_fav: "Favoritos", app_tab_playlist: "Playlists",
      app_btn_bpm: "Analizar BPM", app_btn_enrich: "Enriquecer", app_btn_export: "Exportar", app_btn_normalize: "Normalizar Tags",
      app_tab_all: "TODAS", app_filter_new: "+13", app_filter_star: "★ 0", app_filter_warn: "⚠ 1", app_filter_ok: "✓ 12",
      app_col_cover: "Portada", app_col_artist: "Artista", app_col_year: "Año", app_col_genre_h: "Género", app_col_type: "Tipo",
      app_devices: "Dispositivos", app_coverage: "Cobertura de Metadatos", app_top_genres: "Top Géneros",
      app_problems: "1 pista con problemas", app_tracks_count: "13 pistas · 0.06 GB · 49 min",
      app_insp_library: "Biblioteca", app_insp_selected: "Seleccionado",
      app_tracks_unit: "pistas",
      app_new_playlist: "Nueva playlist", app_engine_hint: "Exporta o copia una playlist aquí",
      app_btn_restore: "Restaurar Nombres",
      app_media_audio: "Audio", app_media_video: "Video",
      app_warning: "1 pista con nombre de archivo identificable · 1 sin artista y título",
      app_review: "Revisar",
      app_problems_n: "4 pistas con problemas",
      widget_library: "Biblioteca", widget_tracks: "pistas", widget_gb: "GB",
      widget_coverage: "Cobertura de Metadatos",
      widget_bpm: "BPM", widget_key: "Tonalidad", widget_genre: "Género", widget_artwork: "Portada", widget_rating: "Rating",
      widget_saved: "guardado", widget_bpm_label: "bpm",
      widget_title: "Título", widget_artist: "Artista", widget_album: "Álbum",
    },
    features: {
      section: "Lo que realmente hace", h2_l1: "Menos organización.", h2_l2: "Más música.",
      f1_label: "01 · Motor", f1_title: "Detección de BPM y tonalidad sub‑beat.",
      f1_body: "Entrenado con 1,4M de pistas de club. Detecta el cambio de tonalidad en el breakdown sin que te des cuenta. Tres decimales, siempre.",
      f1_last: "últimas 12 pistas",
      f2_label: "02 · ID3", f2_title: "Etiquetas corregidas antes de abrirlas.",
      f2_body: "Obtiene metadatos de MusicBrainz y Discogs, los cruza y escribe un bloque ID3v2.4 consistente por archivo. Portada del álbum incluida.",
      f3_label: "03 · Duplicados", f3_title: "Deduplicación por huella de audio.",
      f3_body: "Olvídate de comparar nombres de archivo. TagWave genera un hash de la forma de onda real — dos archivos “Original Mix” a distintos bitrates se detectan como la misma pista y se fusionan.",
      f3_c1: "3 copias → conservar", f3_c2: "2 copias → conservar", f3_c3: "5 copias → conservar",
      f4_label: "04 · Nombres", f4_title: "Una convención de nombres. La tuya.",
      f4_body: "Define una plantilla — {artist} — {title} [{key}/{bpm}] — y TagWave reescribe todos los archivos de la biblioteca en segundos.",
      f5_label: "05 · Sincronización", f5_title: "Envía directamente a Rekordbox / Serato.",
      f5_body: "Un clic escribe tu biblioteca limpia y listas de reproducción en la base de datos activa. Cue points, key‑lock y beatgrids preservados.",
      f6_label: "06 · Local‑first", f6_title: "Tu biblioteca nunca sale del dispositivo.",
      f6_body: "Todo se ejecuta localmente. Las búsquedas de metadatos son llamadas HTTPS anónimas. Sin cuentas, sin subidas a la nube, sin “telemetría”. Punto.",
      f6_offline: "listo sin conexión",
      f7_label: "07 · Mood & Energy", f7_title: "Cada pista tiene una vibe. TagWave sabe cuál es.",
      f7_body: "Clasifica automáticamente por energía (warm-up, peak time, closing) y mood (dark, euphoric, deep, groovy). Crates que se construyen solos según lo que la música realmente transmite.",
      f8_label: "08 · Dynamic Crates", f8_title: "Playlists que se actualizan. Siempre listas.",
      f8_body: "Define reglas una vez — rango de tonalidad, nivel de energía, mood, BPM — y TagWave mantiene los crates actualizados automáticamente con cada nueva pista importada. Sin trabajo manual.",
    },
    workflow: {
      section: "Flujo de trabajo",
      h2_l1: "Prepara tu próximo set",
      h2_pre: "en ", h2_italic: "minutos", h2_end: ", no en fines de semana.",
      step1_title: "Apunta a tu carpeta de música.",
      step1_body: "Arrastra cualquier carpeta — Downloads, un SSD externo, un recurso de red. TagWave indexa de forma incremental; sigue trabajando.",
      step2_title: "Deja que el motor escuche.",
      step2_body: "Cada pista es identificada por huella digital, analizada en cuanto a tonalidad y BPM, consultada en tres fuentes de metadatos y renderizada con forma de onda.",
      step3_title: "Envíalo a tu set.",
      step3_body: "Aprueba los cambios (o acepta automáticamente), luego sincroniza con un clic a Rekordbox o Serato. Tu biblioteca, por fin una herramienta.",
    },
    statbreak: {
      section: "Una matemática diferente",
      body: "El usuario medio de TagWave recupera aproximadamente 42 horas de tiempo administrativo por trimestre. Eso es un fin de semana buscando música nueva en vez de ordenar carpetas.",
    },
    integrations: {
      section: "Integraciones",
      h2_pre: "Funciona bien con el ", h2_italic: "booth", h2_end: ".",
      body: "TagWave no reemplaza tu software de DJ — limpia la biblioteca que lo alimenta. Sincronización nativa con Rekordbox y Serato. Referencias de solo lectura a Spotify y Apple Music para enriquecimiento de metadatos.",
    },
    pricing: {
      section: "Precios", h2_l1: "Elige cómo", h2_italic: "crecer", h2_end: ".",
      body: "Suscripción mensual para quienes están comenzando. Plan anual con descuento para quienes quieren consistencia. Lifetime para quienes quieren pagar una vez y no volver a pensarlo — con todas las actualizaciones futuras incluidas, sin asterisco.",
      starter_label: "Starter", starter_price: "$9", starter_per: "/mes",
      starter_annual: "o $79/año — ahorra 27%",
      starter_sub: "pago mensual · sin permanencia",
      starter_f1: "Detección de BPM y tonalidad (Camelot)",
      starter_f2: "Cue points automáticos",
      starter_f3: "Enriquecer (iTunes/Spotify) + AcoustID",
      starter_f4: "Sincronización con 1 app DJ (Rekordbox o Serato)",
      starter_f5: "Hasta 2.000 pistas en la biblioteca",
      starter_f6: "Energy level (próximamente)",
      starter_note: "Añade el motor: análisis + sync. Para DJs que migran de Mixed In Key.",
      free_label: "Free", free_price: "$0", free_per: "",
      free_sub: "organiza gratis · para siempre",
      free_f1: "Ver toda la biblioteca (portadas, waveforms)",
      free_f2: "Playlists, favoritos, ratings, edición manual de tags",
      free_f3: "Reproductor con cue playback",
      free_f4: "Reconectar pistas perdidas",
      free_f5: "Exportar M3U",
      free_note: "Empieza con 14 días de Pro completo. Después, organiza gratis para siempre.",
      free_cta: "Descargar gratis",
      starter_cta: "Comenzar prueba gratuita",
      pro_badge: "Más popular",
      pro_label: "Pro", pro_price: "$22", pro_per: "/mes",
      pro_annual: "o $190/año — ahorra 28%",
      pro_sub: "pago mensual · 14 días gratis",
      pro_f1: "Todo lo de Starter",
      pro_f2: "Sincronización multi-app ilimitada (Rekordbox, Serato, Traktor, VirtualDJ, Engine DJ)",
      pro_f3: "Biblioteca ilimitada",
      pro_f4: "Soporte prioritario",
      pro_f5: "Tags de mood + vibe con IA (próximamente)",
      pro_f6: "Crates dinámicos automáticos (próximamente)",
      pro_f7: "Backup de biblioteca en la nube (próximamente)",
      pro_f8: "Informe mensual de la colección (próximamente)",
      pro_note: "Reemplaza Mixed In Key + Lexicon DJ juntos. 27% más barato con más funciones.",
      pro_cta: "Comenzar prueba Pro",
      life_label: "Lifetime Pro", life_price: "$279", life_per: "",
      life_annual: "pago único · para siempre",
      life_sub: "sin cuota mensual · sin asterisco",
      life_f1: "Todas las funciones Pro",
      life_f2: "Todas las actualizaciones futuras incluidas",
      life_f3: "Grandes versiones futuras incluidas",
      life_f4: "Soporte prioritario permanente",
      life_f5: "Nunca pagues de nuevo",
      life_quote: "Mixed In Key cobra de nuevo en cada versión major. TagWave Lifetime es diferente: paga una vez, recibe todo para siempre.",
      life_breakeven: "Se amortiza vs. Pro mensual en 12,7 meses",
      life_cta: "Comprar Lifetime",
      footnote: "Todos los planes incluyen una clave de licencia para un dispositivo. ¿Preguntas?",
    },
    testimonials: {
      section: "Lo que dicen los DJs", h2_pre: "La confianza de quienes ", h2_italic: "viven", h2_end: " detrás de los platos.",
      items: [
        { quote: "Pasaba más tiempo arreglando etiquetas que tocando. TagWave limpió cuatro años de caos en una sola tarde. Ahora mis sets en Rekordbox se sienten míos de verdad.", name: "Mariana Voss", role: "DJ Residente · Tresor, Berlín", avatar: "MV" },
        { quote: "La detección de tono es de otro nivel — por fin confío en mis mezclas armónicas sin tener que verificarlo dos veces. La exportación a Serato es perfecta, sin perder cue points.", name: "Daan Hollander", role: "DJ & Productor · Residente ADE", avatar: "DH" },
        { quote: "Gestiono bibliotecas de seis DJs. TagWave redujo mi flujo de trabajo a la mitad. Solo el renombramiento por lotes nos salvó de una situación vergonzosa en un set.", name: "Priya Mehta", role: "Managers de DJs · Bombay / Londres", avatar: "PM" },
        { quote: "El renderizado de las waveforms es precioso. Lo que me convenció fue la detección de duplicados — encontró 340 que no sabía que existían en dos discos externos.", name: "Carlos Espejo", role: "Techno DJ · Output, NYC", avatar: "CE" },
      ],
    },
    faq: {
      section: "Preguntas", h2_pre: "La letra ", h2_italic: "pequeña", h2_end: ".",
      q1: "¿TagWave modifica los archivos de audio reales?",
      a1: "Solo reescribe bloques de metadatos ID3 / Vorbis / iXML, opcionalmente renombra archivos y almacena su propio análisis (tonalidad, BPM, forma de onda) en una biblioteca SQLite local. El audio en sí nunca es re‑codificado ni modificado.",
      q2: "¿Qué formatos son compatibles?",
      a2: "MP3, AIFF, WAV, FLAC, ALAC, AAC y OGG. Los archivos sin pérdida conservan sus encabezados; los archivos con pérdida conservan los datos originales del codificador intactos.",
      q3: "¿Hay un componente en la nube? ¿A dónde van mis datos?",
      a3: "Todo se ejecuta localmente. Las búsquedas de metadatos (MusicBrainz, Discogs) son llamadas HTTPS anónimas. Sin cuenta, sin telemetría, sin subida de biblioteca. Nunca.",
      q4: "¿Sobreescribirá mis cue points de Rekordbox?",
      a4: "No. La sincronización escribe nuevas pistas y actualizaciones de etiquetas en tu biblioteca de Rekordbox / Serato preservando cue points, hot cues, beatgrids y key‑lock. El análisis existente se respeta.",
      q5: "¿Puedo deshacer los cambios?",
      a5: "Sí — cada ejecución por lotes queda registrada y es reversible desde el panel Historial. Puedes revertir cambios de nombre de archivo, etiqueta o portada por archivo o por ejecución.",
      q6: "¿Recibo actualizaciones después de comprar?",
      a6: "Dos años de actualizaciones gratuitas con la licencia De por vida. Después, las grandes actualizaciones de pago son opcionales — tu versión actual seguirá funcionando para siempre.",
    },
    footer: {
      tagline: "Un motor de biblioteca para quienes viven la música. Hecho en Lisboa y Berlín.",
      col_product: "Producto", col_resources: "Recursos", col_company: "Empresa", col_legal: "Legal",
      links_product: ["Funciones", "Flujo de trabajo", "Integraciones", "Precios", "Changelog"],
      links_resources: ["Documentación", "Plantillas de etiquetas", "Presets de nombres", "Soporte"],
      links_company: ["Acerca de", "Manifiesto", "Prensa", { label: "Contacto", href: "contact.html" }],
      links_legal: [{ label: "Privacidad", href: "/privacy" }, { label: "Términos", href: "/terms" }, { label: "Reembolso", href: "/refund" }, "Licencia", "Residentes UE"],
      copyright: "© 2026 TagWave Audio Tools, Lda.",
      build: "v 2.4.1 — construido un jueves, en", build_color: "naranja",
    },
    contact: {
      eyebrow: "CONTACTO",
      h1: "Hablemos", h1_italic: ".", h1_end: "",
      subtitle: "¿Tienes una pregunta, un bug que reportar, o simplemente quieres saludar? Leemos todos los mensajes.",
      form_name: "Tu nombre", form_email: "Tu correo electrónico", form_message: "Tu mensaje",
      ph_name: "Helios Drift", ph_email: "tu@ejemplo.com", ph_message: "Cuéntanos qué tienes en mente…",
      submit: "Enviar mensaje", note: "Solemos responder en menos de 24 horas.",
      sending: "Enviando…",
      sent_title: "Mensaje enviado.", sent_body: "Nos pondremos en contacto en menos de 24 horas.",
      error: "Algo salió mal. Intenta de nuevo o escríbenos directamente.",
      info_label: "O ESCRÍBENOS DIRECTAMENTE",
      email: "contato@tagwave.app",
      location: "Lisboa y Berlín",
      location_label: "Con sede en",
      response_label: "Respuesta media", response_val: "< 24h",
    },
    login: {
      title: "Bienvenido de nuevo", sub: "Inicia sesión en tu cuenta TagWave",
      name: "Nombre", email: "Email", password: "Contraseña",
      forgot: "¿Olvidaste tu contraseña?",
      forgot_title: "Restablecer contraseña", forgot_sub: "Ingresa tu correo y te enviaremos un enlace de restablecimiento.",
      forgot_btn: "Enviar enlace", forgot_sent_title: "Revisa tu correo",
      forgot_sent_body: "Enviamos un enlace de restablecimiento a", forgot_back_login: "Volver al inicio de sesión",
      btn_login: "Iniciar sesión", btn_signup: "Crear cuenta",
      or: "o", google: "Continuar con Google", apple: "Continuar con Apple",
      no_account: "¿No tienes cuenta?", has_account: "¿Ya tienes cuenta?",
      link_signup: "Regístrate", link_signin: "Iniciar sesión",
      back: "← Volver a TagWave", back_short: "Volver a TagWave", cancel: "Cancelar",
      plan_label: "Elige tu plan",
      free_name: "Gratis", free_desc: "Hasta 500 pistas · Análisis básico",
      trial_name: "Pro Trial", trial_desc: "Todas las funciones · 14 días gratis",
      terms: "Al crear una cuenta aceptas los",
      terms_link: "Términos de Servicio", and: "y la", privacy: "Política de Privacidad",
    },
    account: {
      title: "Mi cuenta", back: "Volver a TagWave",
      section_profile: "Perfil", section_password: "Contraseña", section_license: "Licencia", section_danger: "Zona de peligro",
      label_name: "Nombre", label_email: "Correo", label_current_pass: "Contraseña actual", label_new_pass: "Nueva contraseña", label_confirm_pass: "Confirmar nueva contraseña",
      btn_save: "Guardar cambios", btn_change_pass: "Actualizar contraseña", btn_logout: "Cerrar sesión", btn_cancel_account: "Cancelar cuenta",
      license_plan: "Plan", license_status: "Estado", license_expires: "Vence el", license_tracks: "Pistas indexadas",
      license_trial_days: "días restantes", license_trial_of: "de", license_subscribe: "Suscribirse al Pro",
      status_active: "Activo", status_trial: "Trial", status_expired: "Expirado",
      plan_free: "Gratis", plan_pro: "Pro",
      section_usage: "Uso",
      usage_files: "Archivos procesados", usage_edits: "Etiquetas editadas", usage_sessions: "Sesiones", usage_since: "Miembro desde",
      saved: "¡Guardado!", error_pass: "Las contraseñas no coinciden.",
      logout_confirm: "¿Cerrar sesión en TagWave?", danger_warning: "Esto eliminará permanentemente tu cuenta y todos los datos.",
    },
  },
};

Object.assign(window, { LangContext, useLang, TRANSLATIONS });
