Index: src/routes/auth.js
===================================================================
--- src/routes/auth.js	(revision 3af8fa3d42f423af200fa625b55a4d9967be35a4)
+++ src/routes/auth.js	(revision 24cdcc61abea38cc9e4d1996d3736d1c14c5d142)
@@ -17,4 +17,6 @@
 }
 import { mailerConfigured, sendMail } from '../config/mailer.js';
+import { resolveLang, t } from '../services/i18n.js';
+import { setSetting } from '../services/SettingsService.js';
 
 const router = express.Router();
@@ -124,15 +126,15 @@
   if (!isSetupMode()) return res.redirect('/auth/login' + (next ? '?next=' + encodeURIComponent(next) : ''));
   renderPage(req, res, 'pages/auth-register', {
-    pageTitle: 'Beheerder aanmaken', bodyClass: 'on-special',
-    error: null, username: '', email: '', next,
+    pageTitle: t(resolveLang(req), 'setup.title'), bodyClass: 'on-special',
+    error: null, username: '', email: '', siteName: '', next,
   });
 });
 
 router.post('/register', registerLimiter, (req, res) => {
-  const { username, email, password } = req.body;
+  const { username, email, password, siteName } = req.body;
   const next = safeNext(req.body.next) || '';
   const renderErr = (error) => renderPage(req, res, 'pages/auth-register', {
-    pageTitle: 'Beheerder aanmaken', bodyClass: 'on-special',
-    error, username: username || '', email: email || '', next,
+    pageTitle: t(resolveLang(req), 'setup.title'), bodyClass: 'on-special',
+    error, username: username || '', email: email || '', siteName: siteName || '', next,
   });
 
@@ -155,11 +157,16 @@
 
   // Persoonlijke site auto-aanmaken (single-tenant-ombouw volgt later).
+  // Setup-wizard: sitenaam + taal komen uit het formulier; taal = de taal waarin
+  // de bezoeker de wizard invulde (resolveLang) en wordt meteen de site-standaard.
   if (!db.prepare('SELECT 1 FROM sites LIMIT 1').get()) {
     const siteId = uuid();
+    const lang = resolveLang(req);
+    const title = (siteName || '').trim().slice(0, 80) || (username + "'s Site");
     db.prepare(`
       INSERT INTO sites (id, slug, title, description, owner_id, palette, accent, language)
-      VALUES (?, ?, ?, ?, ?, 'sage', '#c2410c', 'nl')
-    `).run(siteId, username.toLowerCase(), username + "'s Site", 'Welkom', userId);
+      VALUES (?, ?, ?, ?, ?, 'klonkt', '#e8b04b', ?)
+    `).run(siteId, username.toLowerCase(), title, '', userId, lang);
     db.prepare(`INSERT INTO site_members (site_id, user_id, role) VALUES (?, ?, 'admin')`).run(siteId, userId);
+    try { setSetting('default_lang', lang); } catch (e) { /* niet fataal */ }
   }
 
Index: src/services/i18n.js
===================================================================
--- src/services/i18n.js	(revision 3af8fa3d42f423af200fa625b55a4d9967be35a4)
+++ src/services/i18n.js	(revision 24cdcc61abea38cc9e4d1996d3736d1c14c5d142)
@@ -90,4 +90,10 @@
     'auth.create_admin': 'Beheerder aanmaken',
     'auth.reg_intro': 'Eerste keer opzetten — maak je beheerdersaccount aan. Dit kan maar één keer.',
+    'setup.title': 'Stel je Klonkt in',
+    'setup.intro': 'Welkom! Even je site klaarzetten — dit duurt een minuutje. Kies eerst je taal.',
+    'setup.lang_label': 'Taal',
+    'setup.f_sitename': 'Naam van je site',
+    'setup.sitename_ph': 'bijv. jouw artiestennaam',
+    'setup.submit': 'Mijn site aanmaken',
     'auth.f_username': 'Gebruikersnaam (3-32 tekens, letters/cijfers/_-)',
     'auth.f_email': 'E-mail',
@@ -1074,4 +1080,10 @@
     'auth.create_admin': 'Create admin',
     'auth.reg_intro': 'First-time setup — create your admin account. This can only be done once.',
+    'setup.title': 'Set up your Klonkt',
+    'setup.intro': 'Welcome! Let’s get your site ready — it takes a minute. Pick your language first.',
+    'setup.lang_label': 'Language',
+    'setup.f_sitename': 'Your site’s name',
+    'setup.sitename_ph': 'e.g. your artist name',
+    'setup.submit': 'Create my site',
     'auth.f_username': 'Username (3-32 chars, letters/digits/_-)',
     'auth.f_email': 'Email',
@@ -2054,4 +2066,10 @@
     'auth.create_admin': 'Administrator anlegen',
     'auth.reg_intro': 'Ersteinrichtung — lege dein Administrator-Konto an. Das geht nur einmal.',
+    'setup.title': 'Richte dein Klonkt ein',
+    'setup.intro': 'Willkommen! Lass uns deine Seite einrichten — dauert nur eine Minute. Wähle zuerst deine Sprache.',
+    'setup.lang_label': 'Sprache',
+    'setup.f_sitename': 'Name deiner Seite',
+    'setup.sitename_ph': 'z. B. dein Künstlername',
+    'setup.submit': 'Meine Seite erstellen',
     'auth.f_username': 'Benutzername (3-32 Zeichen, Buchstaben/Ziffern/_-)',
     'auth.f_email': 'E-Mail',
Index: src/views/pages/auth-register.ejs
===================================================================
--- src/views/pages/auth-register.ejs	(revision 3af8fa3d42f423af200fa625b55a4d9967be35a4)
+++ src/views/pages/auth-register.ejs	(revision 24cdcc61abea38cc9e4d1996d3736d1c14c5d142)
@@ -1,5 +1,14 @@
 <div class="container auth-page">
-  <h1><%= t('auth.create_admin') %></h1>
-  <p class="auth-intro"><%= t('auth.reg_intro') %></p>
+  <h1><%= t('setup.title') %></h1>
+  <p class="auth-intro"><%= t('setup.intro') %></p>
+
+  <div class="setup-lang" style="display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 20px">
+    <span style="opacity:.7;font-size:.9rem"><%= t('setup.lang_label') %>:</span>
+    <% (typeof langs !== 'undefined' ? langs : []).forEach(function(L){ %>
+      <a href="/lang/<%= L.code %>?r=/auth/register"
+         style="padding:5px 13px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid <%= L.active ? 'var(--accent)' : 'var(--rule, #2b3140)' %>;color:<%= L.active ? 'var(--accent)' : 'inherit' %>"><%= L.name %></a>
+    <% }) %>
+  </div>
+
   <% if (error) { %><div class="alert alert-error"><%= error %></div><% } %>
   <form method="post" action="/auth/register" class="auth-form">
@@ -8,6 +17,10 @@
     <% } %>
     <label>
+      <span><%= t('setup.f_sitename') %></span>
+      <input type="text" name="siteName" value="<%= typeof siteName !== 'undefined' ? siteName : '' %>" required autofocus maxlength="80" placeholder="<%= t('setup.sitename_ph') %>">
+    </label>
+    <label>
       <span><%= t('auth.f_username') %></span>
-      <input type="text" name="username" value="<%= username %>" required autofocus autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}">
+      <input type="text" name="username" value="<%= username %>" required autocomplete="username" pattern="[a-zA-Z0-9_-]{3,32}">
     </label>
     <label>
@@ -19,5 +32,5 @@
       <input type="password" name="password" required minlength="8" autocomplete="new-password">
     </label>
-    <button type="submit" class="btn btn-primary"><%= t('auth.create_admin') %></button>
+    <button type="submit" class="btn btn-primary"><%= t('setup.submit') %></button>
   </form>
 </div>
