feat: ajoute le système i18n frontend (FR/EN)

- Crée js/i18n/i18n.js : module central avec t(), getLocale(), setLocale()
- Crée js/i18n/locales/fr.json et en.json : traductions FR et EN
- Crée js/i18n/applyTranslations.js : applique les data-i18n au DOM
- Crée js/i18n/langSwitcher.js : sélecteur de langue (boutons FR/EN)
- Modifie index.html : ajoute les attributs data-i18n sur tous les textes
- Modifie js/main.js : intègre i18n et relance l'application des traductions
- Modifie css/form.css : styles pour le sélecteur de langue
- Persistance de la langue dans localStorage (clé cv_lang)
This commit is contained in:
stanig2106
2026-04-05 22:43:44 +01:00
parent f0cf9a605f
commit 4e9746c308
8 changed files with 173 additions and 9 deletions
+38
View File
@@ -121,3 +121,41 @@ input:focus {
padding-top: 16px;
font-size: 0.95rem;
}
/* ── Header top row ── */
.header-top {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin-bottom: 10px;
}
/* ── Language switcher ── */
.lang-switcher {
display: flex;
gap: 6px;
}
.lang-btn {
background: transparent;
border: 1px solid #2a2a4a;
color: #a0a0b0;
padding: 4px 10px;
border-radius: 4px;
font-size: 0.78rem;
font-weight: 600;
cursor: pointer;
letter-spacing: 0.05em;
transition: border-color 0.2s ease, color 0.2s ease;
}
.lang-btn:hover {
border-color: #e94560;
color: #e0e0e0;
}
.lang-btn.active {
border-color: #e94560;
color: #e94560;
}