11window . addEventListener ( "DOMContentLoaded" , function ( ) {
2- let current_language = localStorage . getItem ( "current_language" ) ;
3- if ( current_language === null ) {
2+ let page_language = localStorage . getItem ( "page_language" ) ;
3+
4+ if ( page_language !== null ) {
45 // No language set, defaulting to English
5- current_language = "en" ;
6+ current_language = page_language || "en" ;
67 }
78 // Set the option in the select element to have the "selected" attribute
89 var selectElement = document . getElementById ( "select_language" ) ;
@@ -16,18 +17,14 @@ window.addEventListener("DOMContentLoaded", function() {
1617
1718// Change language for current page
1819function change_language ( ) {
20+ let page_language = localStorage . getItem ( "page_language" ) ;
1921 var selectElement = document . getElementById ( "select_language" ) ;
20- var value = selectElement . options [ selectElement . selectedIndex ] . value ;
22+ var new_language = selectElement . options [ selectElement . selectedIndex ] . value ;
2123
2224 // Get the current page URL
2325 const currentPageUrl = window . location . href ;
24- const old_language = localStorage . getItem ( "current_language" ) ;
25-
26- localStorage . setItem ( "current_language" , value ) ;
27- // Update the lang attribute of the HTML element
28- document . documentElement . setAttribute ( "lang" , value ) ;
2926 window . location . href = currentPageUrl . replace (
30- "/" + old_language + "/" ,
31- "/" + value + "/"
27+ "/" + page_language + "/" ,
28+ "/" + new_language + "/"
3229 ) ;
3330}
0 commit comments