// i18n - all copy in EN + PL, plus a language context.
const DICT = {
  en: {
    langName: "English",
    kicker: "Adrian Antosiak · Independent · Poland",
    email_addr: "hi@adrianantosiak.pl",
    hero: {
      lead_hover: "I help small and mid-sized companies use AI properly, build the software they can't buy off the shelf, put them on the web, and keep the whole thing running. Hover a service to see how.",
      lead_tap:   "I help small and mid-sized companies use AI properly, build the software they can't buy off the shelf, put them on the web, and keep the whole thing running. Tap a service to see how.",
      email: "hi@adrianantosiak.pl ↗",
      phone: "+48 503 751 676",
      index: "Services",
      hint_hover: "- hover a row to preview -",
      hint_tap:   "- tap a row to jump in -",
      ribbon: "   ADRIAN ANTOSIAK   ◆   AI · APPS · WEB · IT   ◆   TAKING ON NEW CLIENTS   ◆   ",
    },
    nav: {
      ai:  "AI for your business",
      app: "Custom applications",
      web: "Websites & online stores",
      it:  "IT support & infrastructure",
    },
    divider_next: "next ↓",
    contact: {
      kicker: "- Let's talk -",
      title_l1: "Got a",
      title_l2: "question?",
      title_l3: "Write me.",
      email_l: "Email",
      phone_l: "Phone",
      loc_l: "Based in",
      loc_v: "Poland · remote worldwide",
      avail_l: "Status",
      avail_v: "Taking on clients",
      foot_l: "Independent. No agency markup.",
    },
    ai: {
      online: "online",
      breadcrumb: "~/adrian/ai-for-business",
      title_l1: "AI that actually",
      title_l2: "saves you hours.",
      stdout: "stdout",
      streaming: "streaming…",
      idle: "idle",
      hint: "[ hover this section to stream ]",
      cards: [
        ["CHATBOTS",  "Customer-support and internal bots trained on your docs, emails and product catalogue."],
        ["AUTOMATION","Email triage, quoting, invoice parsing, lead routing - the boring stuff, done in the background."],
        ["DOCUMENTS", "OCR, contract review, translation, summaries for meetings and calls."],
        ["TRAINING",  "Hands-on ChatGPT and Copilot training for your team - so they stop copy-pasting sensitive data."],
      ],
      code:
`> adrian.ai.plan({ company })
  ├─ 1h free call to map what's eating time
  ├─ pick 1-2 processes worth automating
  ├─ prototype in 2 weeks, not 2 quarters
  └─ train your team, hand over the keys`,
    },
    app: {
      kicker: "▚ 02 - Custom applications",
      stamp: "SOFTWARE BUILT TO FIT",
      title_l1: "The app your",
      title_l2: "business needs,",
      title_l3: "built for you.",
      lead_a: "When Excel stops being enough and the SaaS tool costs more than it's worth, I build the web or mobile app you actually need",
      lead_and: " - ",
      lead_b: "production tracking, field-service apps, booking systems, internal dashboards, employee and customer portals. Clean code you or anyone else can pick up later.",
      prod_live: "PRODUCTION · LIVE",
      roster_head: "TEAM · SHIFT A",
      on_site: "on site",
      units: "units",
      tgt: "tgt",
      roster_foot: "scheduling · onboarding · reviews · time-off",
      feat: [
        ["Web apps",  "Dashboards, portals, internal tools"],
        ["Mobile",    "iOS + Android"],
        ["APIs",      "Integrate your ERP, CRM, accounting"],
        ["Handover",  "Docs, tests, you own the code"],
      ],
      kpis: [
        ["4-12 wk", "typical build time"],
        ["↓ 40%",   "manual reporting cut"],
        ["1",       "source of truth"],
        ["100%",    "your code, your repo"],
      ],
    },
    web: {
      meta: [["Status","taking briefs"]],
      title_l1: "A website that",
      title_l2_em: "pays for itself",
      title_l3: "in six months.",
      p1: "Company sites, landing pages, portfolios and small online stores for businesses that want something better than a template but don't need a 50-page agency proposal.",
      p2: "Every site ships with proper SEO, a CMS your marketing team can update without calling me, page speeds that Google actually rewards, and an analytics setup you can read.",
      steps: [
        ["01","Kickoff call & sitemap"],
        ["02","Design & copy review"],
        ["03","Build & CMS setup"],
        ["04","SEO, analytics, launch"],
        ["05","Hosting & support"],
      ],
      mock_nav: ["Work","About","Contact"],
      mock_eyebrow: "- Your company",
      mock_h1_l1: "One headline.",
      mock_h1_l2: "One promise.",
      mock_h1_l3: "One call to action.",
      mock_cta: "Get in touch →",
      lh: "Lighthouse",
      lh_v: "perf",
      a11y: "a11y",
      seo: "seo",
      rail: [
        ["Landing",    "Product · campaign · launch"],
        ["Corporate",  "Company sites · portfolios"],
        ["E-commerce", "Catalog · cart · checkout"],
        ["Hosting",    "Deploy · monitor · domain"],
      ],
    },
    it: {
      boot: [
        "> booting adrian.it.support v2.6 ...",
        "  loading kernel .......... [OK]",
        "  mounting /helpdesk ...... [OK]",
        "  printer_driver.sys ...... [OK]",
        "  network stack ........... [OK]",
        "  coffee.dll .............. [OK]",
        "> ready. how can I help?",
      ],
      ascii_title: "▮  A D R I A N  /  I T  S U P P",
      uptime: "uptime:  10+ years",
      tickets: "tickets: closed > opened",
      title_l1: "when the computer",
      title_l2: "eats your deck,",
      title_l3: "I PICK UP.",
      user: "user@support:~$",
      cols: [
        ["[ hardware ]",
          ["workstation & laptop setup","office networking & wi-fi","printers, scanners, peripherals","cctv & access control"]],
        ["[ software ]",
          ["windows, macos, linux","microsoft 365 & google workspace","backups & disaster recovery","vpn, antivirus, endpoint security"]],
        ["[ people ]",
          ["onboarding new hires end-to-end","remote helpdesk, no jargon","procedures & simple docs","dealing with your vendors"]],
      ],
      foot: "> end_of_file  //  monthly plans or one-off help. your call.",
    },
  },
  pl: {
    langName: "Polski",
    kicker: "Adrian Antosiak · Freelancer · Polska",
    email_addr: "czesc@adrianantosiak.pl",
    hero: {
      lead_hover: "Pomagam małym i średnim firmom mądrze wykorzystywać AI, budować oprogramowanie, którego nie kupi się z półki, zaistnieć w sieci i utrzymać to wszystko przy życiu. Najedź kursorem na usługę, żeby zobaczyć jak.",
      lead_tap:   "Pomagam małym i średnim firmom mądrze wykorzystywać AI, budować oprogramowanie, którego nie kupi się z półki, zaistnieć w sieci i utrzymać to wszystko przy życiu. Dotknij usługi, żeby zobaczyć jak.",
      email: "czesc@adrianantosiak.pl ↗",
      phone: "+48 503 751 676",
      index: "Usługi",
      hint_hover: "- najedź na wiersz, żeby podejrzeć -",
      hint_tap:   "- dotknij wiersz, żeby wejść głębiej -",
      ribbon: "   ADRIAN ANTOSIAK   ◆   AI · APLIKACJE · WWW · IT   ◆   PRZYJMUJĘ NOWE PROJEKTY   ◆   ",
    },
    nav: {
      ai:  "AI dla twojej firmy",
      app: "Aplikacje szyte na miarę",
      web: "Strony i sklepy internetowe",
      it:  "Wsparcie IT i infrastruktury",
    },
    divider_next: "dalej ↓",
    contact: {
      kicker: "- Porozmawiajmy -",
      title_l1: "Masz",
      title_l2: "pytanie?",
      title_l3: "Napisz.",
      email_l: "E-mail",
      phone_l: "Telefon",
      loc_l: "Lokalizacja",
      loc_v: "Polska · zdalnie na świecie",
      avail_l: "Status",
      avail_v: "Przyjmuję nowych klientów",
      foot_l: "Niezależny. Bez marży agencji.",
    },
    ai: {
      online: "online",
      breadcrumb: "~/adrian/ai-dla-firmy",
      title_l1: "AI, które realnie",
      title_l2: "oszczędza godziny.",
      stdout: "stdout",
      streaming: "strumieniowanie…",
      idle: "bezczynny",
      hint: "[ najedź na sekcję, aby uruchomić stream ]",
      cards: [
        ["CHATBOTY",    "Chatboty do obsługi klienta i wewnętrzne, uczone na twoich dokumentach, mailach i katalogu produktów."],
        ["AUTOMATY",    "Segregacja maili, ofertowanie, odczyt faktur, kwalifikacja leadów - żmudna robota, która dzieje się w tle."],
        ["DOKUMENTY",   "OCR, analiza umów, tłumaczenia, streszczenia ze spotkań i rozmów."],
        ["SZKOLENIA",   "Praktyczne szkolenia z ChatGPT i Copilota dla twojego zespołu - żeby przestali wklejać wrażliwe dane."],
      ],
      code:
`> adrian.ai.plan({ firma })
  ├─ darmowa godzinna rozmowa: co pożera czas
  ├─ wybór 1-2 procesów do automatyzacji
  ├─ prototyp w 2 tygodnie, nie w 2 kwartały
  └─ szkolenie zespołu i przekazanie kluczy`,
    },
    app: {
      kicker: "▚ 02 - Aplikacje szyte na miarę",
      stamp: "OPROGRAMOWANIE SZYTE NA MIARĘ",
      title_l1: "Aplikacja, której",
      title_l2: "potrzebuje twoja firma,",
      title_l3: "skrojona pod ciebie.",
      lead_a: "Kiedy Excel przestaje wystarczać, a gotowy SaaS kosztuje więcej niż jest wart, buduję aplikację webową lub mobilną, której naprawdę potrzebujesz",
      lead_and: " - ",
      lead_b: "śledzenie produkcji, aplikacje dla serwisantów w terenie, systemy rezerwacji, panele wewnętrzne, portale pracownicze i klienckie. Czysty kod, który ty lub ktokolwiek inny może później przejąć i rozwijać.",
      prod_live: "PRODUKCJA · NA ŻYWO",
      roster_head: "ZESPÓŁ · ZMIANA A",
      on_site: "na miejscu",
      units: "szt.",
      tgt: "cel",
      roster_foot: "grafiki · onboarding · oceny · urlopy",
      feat: [
        ["Web",         "Panele, portale, narzędzia wewnętrzne"],
        ["Mobile",      "iOS + Android"],
        ["API",         "Integracje z ERP, CRM, księgowością"],
        ["Przekazanie", "Dokumentacja, testy, kod jest twój"],
      ],
      kpis: [
        ["4-12 tyg", "typowy czas realizacji"],
        ["↓ 40%",    "mniej ręcznych raportów"],
        ["1",        "jedno źródło prawdy"],
        ["100%",     "twój kod, twoje repo"],
      ],
    },
    web: {
      meta: [["Status","przyjmuję zlecenia"]],
      title_l1: "Strona, która",
      title_l2_em: "zwraca się",
      title_l3: "w pół roku.",
      p1: "Strony firmowe, landingi, portfolia i mniejsze sklepy dla firm, które chcą czegoś lepszego niż szablon, ale nie potrzebują 50-stronicowej oferty od agencji.",
      p2: "Każda strona dostaje porządne SEO, CMS, z którego marketing korzysta bez dzwonienia do mnie, szybkość, którą Google docenia, i analitykę, którą umiesz przeczytać.",
      steps: [
        ["01","Rozmowa startowa i mapa strony"],
        ["02","Projekt i przegląd tekstów"],
        ["03","Budowa i konfiguracja CMS"],
        ["04","SEO, analityka, wdrożenie"],
        ["05","Hosting i wsparcie"],
      ],
      mock_nav: ["Realizacje","O nas","Kontakt"],
      mock_eyebrow: "- Twoja firma",
      mock_h1_l1: "Jeden nagłówek.",
      mock_h1_l2: "Jedna obietnica.",
      mock_h1_l3: "Jedno wezwanie do akcji.",
      mock_cta: "Napisz →",
      lh: "Lighthouse",
      lh_v: "perf",
      a11y: "a11y",
      seo: "seo",
      rail: [
        ["Landing",    "Produkt · kampania · wdrożenie"],
        ["Firmowe",    "Strony firmowe i portfolia"],
        ["E-commerce", "Katalog · koszyk · płatności"],
        ["Hosting",    "Wdrożenie · monitoring · domena"],
      ],
    },
    it: {
      boot: [
        "> uruchamiam adrian.it.support v2.6 ...",
        "  ładuję jądro ............ [OK]",
        "  mount /helpdesk ......... [OK]",
        "  sterownik drukarki ...... [OK]",
        "  stos sieciowy ........... [OK]",
        "  kawa.dll ................ [OK]",
        "> gotowe. w czym mogę pomóc?",
      ],
      ascii_title: "▮  A D R I A N  /  I T  S U P P",
      uptime: "uptime:  10+ lat",
      tickets: "zgłoszenia: zamknięte > otwarte",
      title_l1: "gdy komputer",
      title_l2: "znów strajkuje,",
      title_l3: "ZADZWOŃ.",
      user: "user@support:~$",
      cols: [
        ["[ sprzęt ]",
          ["konfiguracja stacji i laptopów","sieci i wi-fi w biurze","drukarki, skanery, urządzenia peryferyjne","cctv i kontrola dostępu"]],
        ["[ oprogramowanie ]",
          ["windows, macos, linux","microsoft 365 i google workspace","kopie zapasowe i disaster recovery","vpn, antywirus, endpoint"]],
        ["[ ludzie ]",
          ["onboarding nowych pracowników","zdalny helpdesk, bez żargonu","procedury i prosta dokumentacja","kontakt z twoimi dostawcami"]],
      ],
      foot: "> end_of_file  //  stała umowa albo pomoc doraźna. jak wolisz.",
    },
  },
};

function detectLang() {
  try {
    const saved = localStorage.getItem("aa_lang");
    if (saved === "pl" || saved === "en") return saved;
  } catch (e) {}
  const nav = (navigator.languages && navigator.languages[0]) || navigator.language || "en";
  return nav.toLowerCase().startsWith("pl") ? "pl" : "en";
}

function saveLang(l) {
  try { localStorage.setItem("aa_lang", l); } catch (e) {}
}

Object.assign(window, { DICT, detectLang, saveLang });
