feat: sélectionner la traduction par défaut selon la langue du navigateur
Déploiement FRONT BETA / check (push) Successful in 2m12s
Déploiement FRONT PROD / check (push) Successful in 2m14s
Déploiement FRONT BETA / deploy (push) Successful in 21s
Déploiement FRONT PROD / deploy (push) Successful in 20s

This commit is contained in:
2026-07-05 22:33:09 +04:00
parent 43964ec91d
commit f88b0184ea
+20 -1
View File
@@ -106,7 +106,12 @@ const langToArray = parole => {
return TRAD_FIELDS
.filter(({field}) => parole.traductions[field])
.map(({field, title}) => ({title, lang: parole.traductions[field]}))
.map(({field, title}) => ({field, title, lang: parole.traductions[field]}))
}
const BROWSER_LANG_TO_FIELD = {
ja: 'japonais', ko: 'coreen', en: 'anglais', fr: 'francais',
es: 'espagnol', de: 'allemand', it: 'italien', pt: 'portugais',
}
const ExplicitTooltip = Tooltip
@@ -134,6 +139,20 @@ export default function Teks({parole}) {
return () => setCurrentTrack(null)
}, [parole, setCurrentTrack])
useEffect(() => {
const browserLang = navigator.language?.split('-')[0]?.toLowerCase()
if (!browserLang || browserLang === parole.langueSource) {
return
}
const champ = BROWSER_LANG_TO_FIELD[browserLang]
const index = langArray.findIndex(lang => lang.field === champ)
if (index !== -1) {
setTab(index + 1)
}
// eslint-disable-next-line react-hooks/exhaustive-deps -- ne doit s'exécuter qu'au montage, pas à chaque changement d'onglet
}, [])
return (
<Root className={classes.container}>
<Box sx={{textAlign: 'center', marginTop: 12}}>