2626
2727 < main class ="error-view ">
2828
29- < h1 class ="error-view__title ">
29+ < h1 class ="error-view__title " id =" h1 " >
3030 Une erreur est survenue.
3131 </ h1 >
3232
33- < h3 class ="error-view__code ">
34- < span class ="error-view__label "> Erreur</ span >
33+ < h3 class ="error-view__code " id =" h3-wrapper " >
34+ < span class ="error-view__label " id =" h3 " > Erreur</ span >
3535 < span class ="error-view__code-value "> 503</ span >
3636 </ h3 >
3737
@@ -51,11 +51,11 @@ <h3 class="error-view__code">
5151 aria-label ="Une équipe technique s'affairant autour d'un écran en maintenance " />
5252 </ div >
5353
54- < h4 class ="maintenance-error__title ">
54+ < h4 class ="maintenance-error__title " id =" h4 " >
5555 Casques obligatoires !
5656 </ h4 >
5757
58- < h5 class ="maintenance-error__subtitle ">
58+ < h5 class ="maintenance-error__subtitle " id =" h5 " >
5959 On laisse sécher le code et on revient vite...
6060 </ h5 >
6161
@@ -65,6 +65,41 @@ <h5 class="maintenance-error__subtitle">
6565
6666 </ main >
6767
68+ < script >
69+ const translations = {
70+ fr : {
71+ title : "Une erreur est survenue." ,
72+ label : "Erreur" ,
73+ subtitle : "Casques obligatoires !" ,
74+ message : "On laisse sécher le code et on revient vite..." ,
75+ ariaLabel : "Une équipe technique s'affairant autour d'un écran en maintenance"
76+ } ,
77+ en : {
78+ title : "An error has occurred." ,
79+ label : "Error" ,
80+ subtitle : "Helmets are needed !" ,
81+ message : "We'll let the code dry and we'll be back soon..." ,
82+ ariaLabel : "A technical team working on a screen undergoing maintenance"
83+ }
84+ } ;
85+
86+ const userLang = navigator . language || navigator . userLanguage ;
87+ const lang = userLang . startsWith ( 'en' ) ? 'en' : 'fr' ;
88+
89+ document . getElementById ( 'h1' ) . innerText = translations [ lang ] . title ;
90+ document . getElementById ( 'h3' ) . innerText = translations [ lang ] . label ;
91+ document . getElementById ( 'h4' ) . innerText = translations [ lang ] . subtitle ;
92+ document . getElementById ( 'h5' ) . innerText = translations [ lang ] . message ;
93+
94+ document . getElementById ( 'lottie' ) . setAttribute ( 'aria-label' , translations [ lang ] . ariaLabel ) ;
95+
96+ if ( lang === 'en' ) {
97+ document . getElementById ( 'h3-wrapper' ) . style . flexDirection = 'row-reverse' ;
98+ }
99+
100+ document . documentElement . lang = lang ;
101+ </ script >
102+
68103 < script >
69104 setInterval ( async ( ) => {
70105 try {
0 commit comments