Index: src/routes/lang.js
===================================================================
--- src/routes/lang.js	(revision 5e61b173e0211ca213200be10da0a4230dcc31cf)
+++ src/routes/lang.js	(revision d7746798ec30f65765731ccbef3852624ec58f96)
@@ -1,4 +1,4 @@
-// Taalkeuze van de bezoeker: /lang/:code zet de interface-taal in de sessie en
-// stuurt terug naar waar je vandaan kwam. (Content blijft in de taal van de auteur.)
+// Visitor language choice: /lang/:code sets the interface language in the session
+// and redirects back to where you came from. (Content stays in the author's language.)
 import express from 'express';
 import { SUPPORTED } from '../services/i18n.js';
@@ -10,13 +10,13 @@
   const code = SUPPORTED.includes(req.params.code) ? req.params.code : 'nl';
   if (req.session) req.session.lang = code;
-  // Ingelogd? Bewaar de keuze ook op het account zodat 'ie meereist over
-  // apparaten/sessies (niet alleen deze sessie-cookie).
+  // Logged in? Also save the choice on the account so it follows the user
+  // across devices/sessions (not just this session cookie).
   if (req.session && req.session.user && req.session.user.id) {
     try {
       db.prepare('UPDATE users SET lang = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?').run(code, req.session.user.id);
       req.session.user.lang = code;
-    } catch { /* lang-kolom ontbreekt op een oude DB → sessie-only, geen breuk */ }
+    } catch { /* lang column missing on an old DB → session-only, no breakage */ }
   }
-  // Veilige terug-URL: alleen een intern pad (geen open redirect).
+  // Safe back URL: internal path only (no open redirect).
   let back = (typeof req.query.r === 'string') ? req.query.r : '';
   if (!back.startsWith('/') || back.startsWith('//')) {
