import type { Locale } from "./routes";

export const dictionaries = {
  de: {
    nav: {
      about: "Über mich",
      projects: "Projekte",
      contact: "Kontakt",
      menu: "Menü",
    },
    actions: {
      viewProjects: "Projekte ansehen",
      openProject: "Projekt öffnen",
      openLink: "Öffnen",
      editAsAdmin: "Als Admin bearbeiten",
      backToProjects: "Zur Übersicht",
      languageSwitch: "Switch to English",
    },
    home: {
      kicker: "eldov · Self-Hosting, Bots, AI-Fleet",
      title: "Dinge, die ich nachts baue.",
      lede: "Privates Portfolio. Hier stehen Hermes, Bots, Themes, Freewarez und Hacks — alles, was nicht in die Auftragsarbeit gehört. Industrie-Software und Kundenprojekte finden Sie auf w-make.com.",
      statusLabel: "Status",
      lastUpdatedLabel: "Zuletzt aktualisiert",
      featuredLabel: "Ausgewählte Projekte",
      allProjectsLabel: "Alle Projekte",
      linksLabel: "Wo Sie mich finden",
      factsLabel: "Setup & Stack",
      cta: {
        title: "Wenn Sie bis hier gelesen haben:",
        body: "Mehr Kontext steht in den Notizen und im Quellcode. Fragen, die kein Kunde stellen würde, sind willkommen.",
      },
    },
    about: {
      title: "Wer hier schreibt",
      factsHeading: "Setup",
      linksHeading: "Profile & Werkzeuge",
    },
    projects: {
      title: "Projekte",
      lede: "Alles aus meinem Workspace, was keine Industrie-Software ist. Stand: laufend, nicht kuratiert.",
      emptyState: "Keine Projekte sichtbar. Admin-Login nötig?",
    },
    projectDetail: {
      statusLabel: "Status",
      categoryLabel: "Kategorie",
      stackLabel: "Stack",
      stanceLabel: "Haltung",
      liveLabel: "Live",
    },
    contact: {
      title: "Kontakt",
      lede: "Ich betreibe kein Kontaktformular. Wenn Sie schreiben wollen, nutzen Sie die Profile unten.",
      channelsLabel: "Kanäle",
    },
    legal: {
      title: "Impressum",
    },
    privacy: {
      title: "Datenschutz",
      body: "Diese Seite sammelt keine personenbezogenen Daten. Es werden keine Cookies zu Tracking-Zwecken gesetzt, keine Schriften von Drittanbietern geladen, keine externen Skripte eingebunden. Das Admin-Cookie ist HttpOnly, HMAC-signiert und enthält keine Benutzerdaten.",
    },
    admin: {
      loginTitle: "eldov.win · Admin",
      loginIntro: "Single-User-Bereich. Passwort aus der Server-Konfiguration.",
      passwordLabel: "Passwort",
      submit: "Anmelden",
      submitting: "Prüfe…",
      errorInvalid: "Passwort falsch.",
      errorRateLimited: "Zu viele Versuche. Bitte später erneut.",
      logout: "Abmelden",
      dashboardTitle: "Übersicht",
      dashboardProfile: "Profil",
      dashboardProjects: "Projekte",
      dashboardSeed: "Beim ersten Aufruf wurde die Datenbank mit Inhalt gefüllt. Sie können alles hier anpassen.",
      profileTitle: "Profil bearbeiten",
      projectsTitle: "Projekte",
      newProject: "Neues Projekt",
      save: "Speichern",
      saving: "Speichere…",
      saved: "Gespeichert.",
      deleted: "Gelöscht.",
      confirmDelete: "Wirklich löschen?",
      slugHelp: "Wird zur URL. Nur Kleinbuchstaben, Ziffern und Bindestriche.",
    },
  },
  en: {
    nav: {
      about: "About",
      projects: "Projects",
      contact: "Contact",
      menu: "Menu",
    },
    actions: {
      viewProjects: "View projects",
      openProject: "Open project",
      openLink: "Open",
      editAsAdmin: "Edit as admin",
      backToProjects: "Back to overview",
      languageSwitch: "Auf Deutsch wechseln",
    },
    home: {
      kicker: "eldov · self-hosting, bots, AI fleet",
      title: "Things I build at night.",
      lede: "Private portfolio. This is Hermes, bots, themes, freewarez and hacks — everything that is not client work. Industrial software lives at w-make.com.",
      statusLabel: "Status",
      lastUpdatedLabel: "Last updated",
      featuredLabel: "Featured projects",
      allProjectsLabel: "All projects",
      linksLabel: "Where to find me",
      factsLabel: "Setup & stack",
      cta: {
        title: "If you read this far:",
        body: "More context lives in the notes and in the source. Questions no client would ask are welcome.",
      },
    },
    about: {
      title: "Who is writing this",
      factsHeading: "Setup",
      linksHeading: "Profiles & tools",
    },
    projects: {
      title: "Projects",
      lede: "Everything from my workspace that is not industrial software. Status: live, not curated.",
      emptyState: "No projects visible. Admin login required?",
    },
    projectDetail: {
      statusLabel: "Status",
      categoryLabel: "Category",
      stackLabel: "Stack",
      stanceLabel: "Stance",
      liveLabel: "Live",
    },
    contact: {
      title: "Contact",
      lede: "I do not run a contact form. If you want to write, use the profiles below.",
      channelsLabel: "Channels",
    },
    legal: {
      title: "Legal notice",
    },
    privacy: {
      title: "Privacy",
      body: "This site does not collect personal data. No tracking cookies, no third-party fonts, no external scripts. The admin cookie is HttpOnly, HMAC-signed and contains no user data.",
    },
    admin: {
      loginTitle: "eldov.win · admin",
      loginIntro: "Single-user area. Password from server configuration.",
      passwordLabel: "Password",
      submit: "Sign in",
      submitting: "Checking…",
      errorInvalid: "Wrong password.",
      errorRateLimited: "Too many attempts. Try again later.",
      logout: "Sign out",
      dashboardTitle: "Overview",
      dashboardProfile: "Profile",
      dashboardProjects: "Projects",
      dashboardSeed: "On first request the database was seeded. You can edit everything here.",
      profileTitle: "Edit profile",
      projectsTitle: "Projects",
      newProject: "New project",
      save: "Save",
      saving: "Saving…",
      saved: "Saved.",
      deleted: "Deleted.",
      confirmDelete: "Really delete?",
      slugHelp: "Used in the URL. Lowercase letters, digits and hyphens only.",
    },
  },
} as const;

export function getDict(locale: Locale) {
  return dictionaries[locale];
}
