388388 < a href ="#architecture " class ="lang " data-en ="Architecture " data-fr ="Architecture " data-de ="Architektur " data-zh ="架构 "> Architecture</ a >
389389 < a href ="#use-cases " class ="lang " data-en ="Use Cases " data-fr ="Cas d'utilisation " data-de ="Anwendungsfälle " data-zh ="用例 "> Use Cases</ a >
390390 < a href ="#installation " class ="lang " data-en ="Installation " data-fr ="Installation " data-de ="Installation " data-zh ="安装 "> Installation</ a >
391- < a href ="/en/ " class ="lang " data-en ="Documentation " data-fr ="Documentation " data-de ="Dokumentation " data-zh ="文档 "> Documentation</ a >
391+ < a href ="# " id =" docs-link " class ="lang " data-en ="Documentation " data-fr ="Documentation " data-de ="Dokumentation " data-zh ="文档 "> Documentation</ a >
392392 < select class ="language-select " onchange ="changeLanguage(this.value) ">
393393 < option value ="en "> English</ option >
394394 < option value ="fr "> Français</ option >
@@ -592,7 +592,7 @@ <h2 class="config lang" data-en="Configuration Reference" data-fr="Référence d
592592 < div class ="links ">
593593 < a href ="https://github.com/tinystruct/tinystruct " class ="btn " target ="_blank "> GitHub Repository</ a >
594594 < a href ="https://mvnrepository.com/artifact/org.tinystruct/tinystruct " class ="btn " target ="_blank "> Maven Repository</ a >
595- < a href ="/en/ " class ="btn "> Documentation</ a >
595+ < a href ="# " id =" docs-link-resources " class ="btn "> Documentation</ a >
596596 </ div >
597597
598598 < h2 class ="projects lang " data-en ="Projects " data-fr ="Projets " data-de ="Projekte " data-zh ="项目 "> Projects</ h2 >
@@ -626,6 +626,18 @@ <h2 class="projects lang" data-en="Projects" data-fr="Projets" data-de="Projekte
626626 }
627627 } ) ;
628628
629+ // Update documentation links based on selected language
630+ const docsLink = document . getElementById ( 'docs-link' ) ;
631+ const docsLinkResources = document . getElementById ( 'docs-link-resources' ) ;
632+
633+ if ( docsLink ) {
634+ docsLink . href = '/' + lang + '/' ;
635+ }
636+
637+ if ( docsLinkResources ) {
638+ docsLinkResources . href = '/' + lang + '/' ;
639+ }
640+
629641 // Update URL fragment with selected language
630642 window . location . hash = lang ;
631643 }
@@ -642,8 +654,24 @@ <h2 class="projects lang" data-en="Projects" data-fr="Projets" data-de="Projekte
642654 }
643655 }
644656
657+ // Initialize language based on URL or browser settings
658+ function initializeLanguage ( ) {
659+ // Check URL fragment first
660+ applyLanguageFromURL ( ) ;
661+
662+ // If no language in URL, check browser language
663+ if ( ! window . location . hash ) {
664+ const browserLang = navigator . language . split ( '-' ) [ 0 ] ;
665+ if ( [ 'en' , 'fr' , 'de' , 'zh' ] . includes ( browserLang ) ) {
666+ changeLanguage ( browserLang ) ;
667+ } else {
668+ changeLanguage ( 'en' ) ; // Default to English
669+ }
670+ }
671+ }
672+
645673 // Add event listener to load language on page load
646- window . addEventListener ( 'DOMContentLoaded' , applyLanguageFromURL ) ;
674+ window . addEventListener ( 'DOMContentLoaded' , initializeLanguage ) ;
647675 // Copy Code Function
648676 function copyCode ( button ) {
649677 const codeBlock = button . previousElementSibling ;
0 commit comments