Files
davegilligan-new/src/data/site.ts
T
daveadmin 61503fdac4 fix(pre-release): remove draft text, fix [object Object] on ai-lab, clean slug routing
- ai-lab.astro: wrap venture summaries in LocaleCopy (was rendering [object Object])
- [slug].astro: add writing to exclusion list; remove draft sidebar paragraph
- site.ts: redirect family slug to /family-lab
- cookies.astro, privacy.astro: strip draft-only language from copy
- education.astro: remove unfinished-content bullet from editorial note

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 19:40:22 +02:00

247 lines
25 KiB
TypeScript

import type { LocaleCode } from "./locales";
export type LaunchSection = {
slug: string;
label: string;
title: string;
summary: Record<LocaleCode, string>;
tone: Record<LocaleCode, string>;
strap: Record<LocaleCode, string>;
coverline: Record<LocaleCode, string>;
motif: Record<LocaleCode, string>;
samples: Record<LocaleCode, string[]>;
};
export type SchoolDossier = {
slug: string;
institution: string;
years: string;
program: string;
city: string;
logo: string;
teaser: Record<LocaleCode, string>;
};
export const hero = {
kicker: { en: "Pataphysical bulletin / Kongsberg edition", fr: "Bulletin pataphysique / Édition Kongsberg", nb: "Pataphysisk bulletin / Kongsberg-utgave" },
title: { en: "A high-tech newsmagazine disguised as one man's improbable paper trail.", fr: "Un magazine d'actualités high-tech déguisé en le parcours improbable d'un homme.", nb: "Et høyteknologisk nyhetsmagasin forkledd som én manns usannsynlige papirspor." },
lede: { en: "Private AI, jazz basements, multilingual weather, family rights, and systems work from Ringwood to Kongsberg, edited with equal parts brass, evidence, and deliberate mischief.", fr: "IA privée, caves de jazz, météo multilingue, droits familiaux et travail systémique de Ringwood à Kongsberg, édité avec autant de cuivres, de preuves et de malice délibérée.", nb: "Privat AI, jazzkjellere, flerspråklig vær, familierettigheter og systemarbeid fra Ringwood til Kongsberg, redigert med like deler messing, bevis og bevisst rampestreker." },
sublede: { en: "Inside this issue: Blue Note Logic in the machine room, Gilligan Tech in the field, Do Better Norge in the civic file, Trivia & Tunes in the live-wire culture pages, and school dossiers written like contraband literature.", fr: "Dans ce numéro : Blue Note Logic dans la salle des machines, Gilligan TECH sur le terrain, Do Better Norge dans le dossier civique, Trivia & Tunes dans les pages culturelles sous tension, et des dossiers scolaires écrits comme de la littérature de contrebande.", nb: "I denne utgaven: Blue Note Logic i maskinrommet, Gilligan TECH i felten, Do Better Norge i det sivile arkivet, Trivia & Tunes i de kulturspente sidene, og skoledokumenter skrevet som forbudt litteratur." },
};
export const launchSections: LaunchSection[] = [
{
slug: "business", label: "01", title: "Business",
summary: { en: "Consulting notes, AI architecture, and operator essays for people who prefer working systems to rented theater.", fr: "Notes de conseil, architectures IA et essais d'opérateurs pour ceux qui préfèrent les systèmes fonctionnels au théâtre en location.", nb: "Konsulentnotater, AI-arkitektur og operatør-essays for folk som foretrekker fungerende systemer fremfor leid teater." },
tone: { en: "Sharp, practical, anti-buzzword.", fr: "Tranchant, pratique, anti-buzzword.", nb: "Skarpt, praktisk, anti-buzzword." },
strap: { en: "Operator studies for adults who are tired of consultant vapor.", fr: "Études d'opérateurs pour adultes lassés des consultants vaporeux.", nb: "Operatørstudier for voksne som er lei av konsulentprat." },
coverline: { en: "The anti-buzzword ledger.", fr: "Le registre anti-buzzword.", nb: "Anti-buzzword-regnskapet." },
motif: { en: "Pricing, systems, execution, and elegant refusal.", fr: "Tarification, systèmes, exécution et refus élégant.", nb: "Prising, systemer, utførelse og elegant avslag." },
samples: { en: ["The one-laptop doctrine","SME systems with teeth","Boardroom notes without cologne"], fr: ["La doctrine du seul ordinateur portable","Systèmes PME avec du mordant","Notes de salle de conseil sans eau de Cologne"], nb: ["Én-laptop-doktrinen","SME-systemer med tenner","Styreromsnotater uten parfyme"] },
},
{
slug: "education", label: "02", title: "Education",
summary: { en: "School dossiers, study notes, intellectual migrations, and academic detours worth keeping.", fr: "Dossiers scolaires, notes d'étude, migrations intellectuelles et détours académiques qui valent la peine d'être conservés.", nb: "Skolemapper, studienotater, intellektuelle migrasjoner og akademiske omveier verdt å beholde." },
tone: { en: "Curious, rigorous, lightly mischievous.", fr: "Curieux, rigoureux, légèrement espiègle.", nb: "Nysgjerrig, grundig, lett rampete." },
strap: { en: "Degrees as cities, schools as chapters, study as migration.", fr: "Les diplômes comme des villes, les écoles comme des chapitres, l'étude comme une migration.", nb: "Grader som byer, skoler som kapitler, studier som migrasjon." },
coverline: { en: "The dossier issue.", fr: "Le numéro dossier.", nb: "Dossier-utgaven." },
motif: { en: "Memory, theory, institutions, and weather.", fr: "Mémoire, théorie, institutions et météo.", nb: "Minne, teori, institusjoner og vær." },
samples: { en: ["Villanova as overture","Krakow and the bureaucracy sublime","Kongsberg after experience"], fr: ["Villanova comme ouverture","Cracovie et la bureaucratie sublime","Kongsberg après l'expérience"], nb: ["Villanova som ouverture","Krakow og den sublime byråkratien","Kongsberg etter erfaring"] },
},
{
slug: "family", label: "03", title: "Family",
summary: { en: "A warmer archive for memory, milestones, and the private weather that keeps the machinery worth running.", fr: "Une archive plus chaleureuse pour la mémoire, les jalons et la météo privée qui donne un sens à la machine.", nb: "Et varmere arkiv for minner, milepæler og det private været som gjør maskineriet verdt å holde i gang." },
tone: { en: "Private-minded, generous, alive.", fr: "Intimiste, généreux, vivant.", nb: "Privat, generøs, levende." },
strap: { en: "The soft archive, still edited like it matters.", fr: "L'archive douce, toujours éditée comme si elle comptait.", nb: "Det myke arkivet, fortsatt redigert som om det betyr noe." },
coverline: { en: "Domestic front pages.", fr: "Les premières pages domestiques.", nb: "Hjemlige forsider." },
motif: { en: "Photographs, notes, kinship, and time.", fr: "Photographies, notes, liens familiaux et temps.", nb: "Fotografier, notater, slektskap og tid." },
samples: { en: ["Albums with captions worth reading","Milestones without sentimentality","A household in motion"], fr: ["Albums avec légendes qui valent la peine d'être lues","Jalons sans sentimentalisme","Un foyer en mouvement"], nb: ["Album med bildetekster verdt å lese","Milepæler uten sentimentalitet","Et hushold i bevegelse"] },
},
{
slug: "fun-postings", label: "04", title: "Fun Postings",
summary: { en: "Odd notices, cultural flyers, side projects, and the sort of elegant nonsense that deserves proper typesetting.", fr: "Avis insolites, flyers culturels, projets parallèles et ce genre de non-sens élégant qui mérite une typographie soignée.", nb: "Merkelige kunngjøringer, kulturelle flyers, sideprosjekter og den typen elegant nonsens som fortjener ordentlig typografi." },
tone: { en: "Playful, deadpan, collectible.", fr: "Ludique, pince-sans-rire, collectionnable.", nb: "Leken, deadpan, samlerverdig." },
strap: { en: "The classified page gets strange and starts wearing cologne.", fr: "La page des petites annonces devient étrange et commence à porter de l'eau de Cologne.", nb: "Rubrikkannonsen blir rar og begynner å bruke parfyme." },
coverline: { en: "Useful nonsense, neatly set.", fr: "Non-sens utile, soigneusement présenté.", nb: "Nyttig nonsens, pent satt." },
motif: { en: "Flyers, jokes, events, absurd notices.", fr: "Flyers, blagues, événements, avis absurdes.", nb: "Flyers, vitser, arrangementer, absurde kunngjøringer." },
samples: { en: ["Cultural dispatches","Ridiculous but sincere","Posters for improbable evenings"], fr: ["Dépêches culturelles","Ridicule mais sincère","Affiches pour des soirées improbables"], nb: ["Kulturelle utsendelser","Latterlig men oppriktig","Plakater for usannsynlige kvelder"] },
},
{
slug: "writing", label: "05", title: "Writing",
summary: { en: "This month's writing desk runs on Boris Vian: novels with trapdoors, Vernon Sullivan weather, Saint-Germain smoke, and bibliography arranged like a contraband route.", fr: "Le bureau d'écriture de ce mois-ci fonctionne sur Boris Vian : romans avec trappes, météo Vernon Sullivan, fumée de Saint-Germain et bibliographie arrangée comme une route de contrebande.", nb: "Denne månedens skrivebord drives av Boris Vian: romaner med fallgruver, Vernon Sullivan-vær, Saint-Germain-røyk og bibliografi arrangert som en smuglerute." },
tone: { en: "Literary, international, smoky.", fr: "Littéraire, international, enfumé.", nb: "Litterær, internasjonal, røykfylt." },
strap: { en: "A low-lit file on Boris Vian, jazz syntax, and the exact science of glorious exception.", fr: "Un dossier en lumière tamisée sur Boris Vian, la syntaxe jazz et la science exacte de l'exception glorieuse.", nb: "En lavmælt fil om Boris Vian, jazzsyntaks og den eksakte vitenskapen om strålende unntak." },
coverline: { en: "Boris Vian in the side door.", fr: "Boris Vian par la porte dérobée.", nb: "Boris Vian via sidedøren." },
motif: { en: "Novels, jazz, pataphysics, counterfeit signatures, and Paris after midnight.", fr: "Romans, jazz, pataphysique, signatures contrefaites et Paris après minuit.", nb: "Romaner, jazz, patafysikk, falske signaturer og Paris etter midnatt." },
samples: { en: ["The engineer of exceptions","Five doors into Boris Vian","Why Saint-Germain still leaks into the prose"], fr: ["L'ingénieur des exceptions","Cinq portes vers Boris Vian","Pourquoi Saint-Germain s'infiltre encore dans la prose"], nb: ["Unntakenes ingeniør","Fem dører inn til Boris Vian","Hvorfor Saint-Germain fortsatt siver inn i prosaen"] },
},
{
slug: "jazz-music", label: "06", title: "Jazz and Music",
summary: { en: "Listening notes, Kongsberg nights, Caveau memories, and the low-lit logic of serious groove.", fr: "Notes d'écoute, nuits à Kongsberg, souvenirs de Caveau et la logique tamisée du groove sérieux.", nb: "Lyttenotater, Kongsberg-netter, Caveau-minner og den lavmælte logikken til seriøs groove." },
tone: { en: "Velvet, brassy, precise.", fr: "Velours, cuivré, précis.", nb: "Fløyel, messing, presist." },
strap: { en: "For records, rooms, and players who understand that rhythm is governance.", fr: "Pour les disques, les salles et les musiciens qui comprennent que le rythme est une gouvernance.", nb: "For plater, rom og musikere som forstår at rytme er styring." },
coverline: { en: "Blue notes and side doors.", fr: "Blue notes et portes dérobées.", nb: "Blue notes og sidedører." },
motif: { en: "Listening, memory, improvisation, timing.", fr: "Écoute, mémoire, improvisation, timing.", nb: "Lytting, minne, improvisasjon, timing." },
samples: { en: ["Records after midnight","Why groove beats branding","A private history of swing"], fr: ["Disques après minuit","Pourquoi le groove l'emporte sur le branding","Une histoire privée du swing"], nb: ["Plater etter midnatt","Hvorfor groove slår merkevarebygging","En privat historie om swing"] },
},
{
slug: "languages", label: "07", title: "Languages",
summary: { en: "English, French, and Norwegian switching places without losing the joke, the seduction, or the filing detail.", fr: "Anglais, français et norvégien échangent leurs places sans perdre la blague, la séduction ou le détail archivistique.", nb: "Engelsk, fransk og norsk bytter plass uten å miste vitsen, forførelsen eller arkivdetaljen." },
tone: { en: "Polyglot, sly, welcoming.", fr: "Polyglotte, subtil, accueillant.", nb: "Polyglott, lun, imøtekommende." },
strap: { en: "A section for mistranslation, seduction, and grammatical diplomacy.", fr: "Une section pour les mauvaises traductions, la séduction et la diplomatie grammaticale.", nb: "En seksjon for feiltolkning, forførelse og grammatisk diplomati." },
coverline: { en: "The multilingual cabinet.", fr: "Le cabinet multilingue.", nb: "Det flerspråklige kabinettet." },
motif: { en: "French, Norwegian, English, and elegant trouble.", fr: "Français, norvégien, anglais et troubles élégants.", nb: "Fransk, norsk, engelsk og elegant trøbbel." },
samples: { en: ["Words that travel badly","Translation as personality","Syntax with a passport"], fr: ["Mots qui voyagent mal","La traduction comme personnalité","Syntaxe avec passeport"], nb: ["Ord som reiser dårlig","Oversettelse som personlighet","Syntaks med pass"] },
},
{
slug: "ai-lab", label: "08", title: "AI Lab",
summary: { en: "Private corpora, cited answers, multilingual agents, and practical machine intelligence with actual memory.", fr: "Corpus privés, réponses citées, agents multilingues et intelligence artificielle pratique avec une mémoire réelle.", nb: "Private korpora, siterte svar, flerspråklige agenter og praktisk maskinintelligens med faktisk hukommelse." },
tone: { en: "Forward-looking, grounded, open source friendly.", fr: "Visionnaire, ancré, favorable à l'open source.", nb: "Framtidsrettet, jordnær, vennlig mot åpen kildekode." },
strap: { en: "Machine intelligence without the conference lanyard.", fr: "Intelligence artificielle sans le badge de conférence.", nb: "Maskinintelligens uten konferansebånd." },
coverline: { en: "The atelier for useful futures.", fr: "L'atelier des futurs utiles.", nb: "Atelieret for nyttige fremtider." },
motif: { en: "Prompts, tooling, agentic systems, humane interfaces.", fr: "Prompts, outils, systèmes agentiques, interfaces humaines.", nb: "Prompter, verktøy, agentbaserte systemer, humane grensesnitt." },
samples: { en: ["AI that can write in-house style","Editorial controls, not gimmicks","Open tools with manners"], fr: ["IA capable d'écrire dans un style maison","Contrôles éditoriaux, pas des gadgets","Outils ouverts avec des manières"], nb: ["AI som kan skrive i husstil","Redaksjonelle kontroller, ikke gimmicker","Åpne verktøy med manerer"] },
},
{
slug: "norway", label: "09", title: "Norway",
summary: { en: "Kongsberg dispatches, civic reporting, immigrant-family realities, and Norwegian life observed without brochure language.", fr: "Dépêches de Kongsberg, reportages civiques, réalités des familles immigrées et vie norvégienne observée sans langage de brochure.", nb: "Kongsberg-utsendelser, samfunnsrapportering, innvandrerfamilie-realiteter og norsk liv observert uten brosjyrespråk." },
tone: { en: "Observant, civic, place-aware.", fr: "Observateur, civique, conscient du lieu.", nb: "Observant, samfunnsengasjert, stedbevisst." },
strap: { en: "A local paper for one town and several realities.", fr: "Un journal local pour une ville et plusieurs réalités.", nb: "En lokalavis for én by og flere realiteter." },
coverline: { en: "Kongsberg, correctly observed.", fr: "Kongsberg, correctement observé.", nb: "Kongsberg, korrekt observert." },
motif: { en: "Place, policy, weather, Nordic texture.", fr: "Lieu, politique, météo, texture nordique.", nb: "Sted, politikk, vær, nordisk tekstur." },
samples: { en: ["Silver city dispatches","The civic weather report","Norway beyond brochure language"], fr: ["Dépêches de la ville d'argent","Le bulletin météo civique","La Norvège au-delà du langage des brochures"], nb: ["Sølvby-utsendelser","Den samfunnsmessige værmeldingen","Norge uten brosjyrespråk"] },
},
{
slug: "projects", label: "10", title: "Projects",
summary: { en: "Things launched, repaired, modernized, or made slightly dangerous across code, content, venues, and data.", fr: "Choses lancées, réparées, modernisées ou rendues légèrement dangereuses à travers le code, le contenu, les lieux et les données.", nb: "Ting lansert, reparert, modernisert eller gjort litt farlige på tvers av kode, innhold, arenaer og data." },
tone: { en: "Builder energy, clean receipts.", fr: "Énergie de constructeur, reçus propres.", nb: "Byggerenergi, rene kvitteringer." },
strap: { en: "The workshop floor, but art directed.", fr: "Le sol de l'atelier, mais dirigé artistiquement.", nb: "Verkstedgulvet, men kunstnerisk regissert." },
coverline: { en: "Built, fixed, and shipped.", fr: "Construit, réparé et expédié.", nb: "Bygget, fikset og sendt." },
motif: { en: "Case files, before/after, code and consequence.", fr: "Dossiers, avant/après, code et conséquences.", nb: "Saksmapper, før/etter, kode og konsekvens." },
samples: { en: ["From schema to interface","Deployments with fingerprints","Systems that survived contact"], fr: ["Du schéma à l'interface","Déploiements avec empreintes digitales","Systèmes qui ont survécu au contact"], nb: ["Fra skjema til grensesnitt","Utrullinger med fingeravtrykk","Systemer som overlevde kontakt"] },
},
{
slug: "cv", label: "11", title: "CV",
summary: { en: "The formal record, still elegant, still readable, and never trapped in a dusty PDF.", fr: "Le dossier formel, toujours élégant, toujours lisible et jamais enfermé dans un PDF poussiéreux.", nb: "Den formelle opptegnelsen, fortsatt elegant, fortsatt lesbar og aldri fanget i en støvete PDF." },
tone: { en: "Professional, legible, confident.", fr: "Professionnel, lisible, confiant.", nb: "Profesjonell, lesbar, selvsikker." },
strap: { en: "The biography in pressed clothes.", fr: "La biographie en vêtements pressés.", nb: "Biografien i pressede klær." },
coverline: { en: "A resume that behaves like publishing.", fr: "Un CV qui se comporte comme une publication.", nb: "En CV som oppfører seg som publisering." },
motif: { en: "Timeline, experience, proof, education.", fr: "Chronologie, expérience, preuves, éducation.", nb: "Tidslinje, erfaring, bevis, utdanning." },
samples: { en: ["Careers across countries","A record without dead language","Credentials with pulse"], fr: ["Carrières à travers les pays","Un dossier sans langage mort","Certifications avec du souffle"], nb: ["Karrierer på tvers av land","En opptegnelse uten dødt språk","Kvalifikasjoner med puls"] },
},
];
export const schoolDossiers: SchoolDossier[] = [
{
slug: "usn",
institution: "University of South-Eastern Norway",
years: "2021 to present",
program: "MSc, Innovation and Technology Management",
city: "Kongsberg, Norway",
logo: "/images/schools/usn.svg",
teaser: { en: "A systems laboratory where engineering discipline and lived experience meet over coffee, models, and unfinished questions.", fr: "Un laboratoire de systèmes où la discipline d'ingénierie et l'expérience vécue se rencontrent autour d'un café, de modèles et de questions inachevées.", nb: "Et systemlaboratorium der ingeniørdisiplin og levd erfaring møtes over kaffe, modeller og uferdige spørsmål." },
},
{
slug: "jagiellonian",
institution: "Jagiellonian University",
years: "2010 to 2011",
program: "European Union Studies",
city: "Krakow, Poland",
logo: "/images/schools/jagiellonian.svg",
teaser: { en: "History, bureaucracy, Europe, and the old civilizational habit of asking larger questions than the room can comfortably hold.", fr: "Histoire, bureaucratie, Europe et l'ancienne habitude civilisationnelle de poser des questions plus grandes que la salle ne peut confortablement contenir.", nb: "Historie, byråkrati, Europa og den gamle sivilisasjonsvanen med å stille større spørsmål enn rommet komfortabelt kan romme." },
},
{
slug: "escp-moore",
institution: "ESCP and Darla Moore",
years: "1997 to 1999",
program: "International MBA and Master of International Business",
city: "Paris and Columbia, South Carolina",
logo: "/images/schools/escp-moore.svg",
teaser: { en: "A dual orbit of French polish and American execution, where commerce learned to travel with style and consequence.", fr: "Une double orbite de raffinement français et d'exécution américaine, où le commerce a appris à voyager avec style et conséquence.", nb: "En dobbel bane av fransk eleganse og amerikansk utførelse, der handel lærte å reise med stil og konsekvens." },
},
{
slug: "european-university",
institution: "European University and Institut Cooreman",
years: "1996",
program: "MBA and Master of International Trade",
city: "Brussels, Belgium",
logo: "/images/schools/european-university.svg",
teaser: { en: "Trade, movement, and continental ambition, written in the language of deals, trains, and multilingual evenings.", fr: "Commerce, mouvement et ambition continentale, écrits dans le langage des affaires, des trains et des soirées multilingues.", nb: "Handel, bevegelse og kontinental ambisjon, skrevet i språket til avtaler, tog og flerspråklige kvelder." },
},
{
slug: "villanova",
institution: "Villanova University",
years: "1991 to 1995",
program: "BSc, Business Administration",
city: "Philadelphia, Pennsylvania",
logo: "/images/schools/villanova.svg",
teaser: { en: "The Main Line chapter, where finance, communication, and character first learned to share the same bandstand.", fr: "Le chapitre de Main Line, où la finance, la communication et le caractère ont appris à partager la même scène.", nb: "Main Line-kapittelet, der finans, kommunikasjon og karakter først lærte å dele samme scene." },
},
];
export const fieldNotes: Record<LocaleCode, string[]> = {
en: [
"Blue Note Logic keeps the machine room full of private AI, cited answers, and document intelligence that behaves like evidence instead of theater.",
"Trivia & Tunes is now a living product story: venue-grade quiz nights, real AI in the game loop, and voice layers warming up for live testing.",
"Do Better Norge keeps the civic file open on family life, immigrant fathers, due process, and the legal weather in contemporary Norway.",
],
fr: [
"Blue Note Logic garde la salle des machines remplie d'IA privée, de réponses citées et d'intelligence documentaire qui se comporte comme une preuve plutôt qu'un théâtre.",
"Trivia & Tunes est désormais une histoire de produit vivant : soirées quiz dignes de lieux, véritable IA dans la boucle de jeu, et couches vocales prêtes pour des tests en direct.",
"Do Better Norge garde le dossier civique ouvert sur la vie familiale, les pères immigrés, le droit à un procès équitable et la météo juridique dans la Norvège contemporaine."
],
nb: [
"Blue Note Logic holder maskinrommet fullt av privat AI, siterte svar og dokumentintelligens som oppfører seg som bevis i stedet for teater.",
"Trivia & Tunes er nå en levende produktfortelling: quizkvelder på nivå med arenaer, ekte AI i spillsløyfen, og stemmelag som varmer opp for live-testing.",
"Do Better Norge holder det sivile arkivet åpent om familieliv, innvandrerfedre, rettferdig prosess og det juridiske været i dagens Norge."
],
};
export const editorialPromises: Record<LocaleCode, string[]> = {
en: [
"Keep the paper light, breathable, and a little dangerous around the edges.",
"Make AI visible as a craft tool, a newsroom instrument, and never a plastic gimmick.",
"Treat the CV, the jazz notebook, the civic archive, and the family pages with equal design seriousness.",
],
fr: [
"Garder le papier léger, respirable et un peu dangereux sur les bords.",
"Rendre l'IA visible comme un outil artisanal, un instrument de salle de rédaction, et jamais un gadget en plastique.",
"Traiter le CV, le carnet de jazz, l'archive civique et les pages familiales avec le même sérieux de conception."
],
nb: [
"Hold papiret lett, pustende og litt farlig i kantene.",
"Gjøre AI synlig som et håndverksverktøy, et nyhetsromsinstrument, og aldri en plastgimmick.",
"Behandle CV-en, jazznotatboken, det sivile arkivet og familiesidene med samme designalvor."
],
};
export const coverLines: Record<LocaleCode, string[]> = {
en: [
"A pataphysical field paper with jazz smoke in the margins and SQL under the floorboards.",
"Five school dossiers, each signed with a clearly counterfeit blessing and a straight face.",
"AI in the machinery, not sprayed on top like fresh conference cologne.",
],
fr: [
"Un papier de terrain pataphysique avec de la fumée de jazz dans les marges et du SQL sous les planchers.",
"Cinq dossiers scolaires, chacun signé avec une bénédiction clairement contrefaite et un visage impassible.",
"IA dans la machinerie, pas vaporisée sur le dessus comme une eau de cologne fraîche de conférence."
],
nb: [
"Et pataphysisk feltpapir med jazzrøyk i margen og SQL under gulvbordene.",
"Fem skoledokumenter, hver signert med en åpenbart falsk velsignelse og et rett ansikt.",
"AI i maskineriet, ikke sprayet på toppen som fersk konferanseparfyme."
],
};
export const sectionCardCta: Record<LocaleCode, string> = {
en: "Open section",
fr: "Ouvrir la section",
nb: "Åpne seksjonen",
};
export function getSectionHref(section: LaunchSection) {
if (section.slug === "education") return "/education";
if (section.slug === "family") return "/family-lab";
return `/${section.slug}`;
}