Cette page monte Vue {{ vueVersion }} (vendorisé, sans build tooling)
et importe les modules ESM réels de l'app :
modules/i18n.mjs ({{ langCount }} langues) et
modules/theme.mjs ({{ presetCount }} presets).
Le rendu est déclaratif/réactif — même modèle mental que le QML —
mais la logique reste 100 % dans les modules existants.
Chaque clic appelle le setLang() du module ;
les libellés ci-dessus sont des bindings Vue sur le vrai t().
Chaque clic appelle le applyPreset() du module —
les attributs data-theme/data-table sont posés sur
cette page et la CSS réelle réagit. activePreset() pilote la
surbrillance en retour.
Zéro addEventListener, zéro
getElementById : l'état pilote le DOM. C'est ce qui remplacerait
les manipulations manuelles dans une migration écran par écran.
pokerth-client.html). Migration envisageable
écran par écran — lobby/réglages d'abord, table de jeu en dernier.