const headerLangData = { zh: { nav: { home: "首页", business: "主营业务", products: "产品案例", support: "技术支持", future: "展望未来", about: "关于我们" }, btn: "English", logo: "../imgs/svg/logo.svg" }, en: { nav: { home: "Home", business: "Business", products: "Products", support: "Support", future: "Future", about: "About Us" }, btn: "简体中文", logo: "../imgs/svg/logo_en.svg" } }; // 语言显示更新函数 function updateHeaderLanguageDisplay(lang) { const currentFlag = document.getElementById('current-flag'); const currentLangText = document.getElementById('current-lang'); if (currentFlag && currentLangText) { // 检查图片路径是否需要调整 const isRootPage = window.location.pathname.includes('index.html') || window.location.pathname.endsWith('/'); const imgPathPrefix = isRootPage ? './imgs/flags/' : '../imgs/flags/'; if (lang === 'en') { currentFlag.src = `${imgPathPrefix}en.svg`; currentLangText.textContent = 'English'; } else { currentFlag.src = `${imgPathPrefix}zh.svg`; currentLangText.textContent = '简体中文'; } } } function setHeaderLang(lang) { const data = headerLangData[lang]; // 导航文本 const navHome = document.getElementById("nav-home"); if (navHome) navHome.textContent = data.nav.home; const navBusiness = document.getElementById("nav-business"); if (navBusiness) navBusiness.textContent = data.nav.business; const navProducts = document.getElementById("nav-products"); if (navProducts) navProducts.textContent = data.nav.products; const navSupport = document.getElementById("nav-support"); if (navSupport) navSupport.textContent = data.nav.support; const navFuture = document.getElementById("nav-future"); if (navFuture) navFuture.textContent = data.nav.future; const navAbout = document.getElementById("nav-about"); if (navAbout) navAbout.textContent = data.nav.about; // logo // const logoImg = document.getElementById("logo-img"); // if (logoImg) logoImg.src = data.logo; // 更新语言显示 updateHeaderLanguageDisplay(lang); } // 处理语言切换 function handleHeaderLangToggle(lang) { window.currentLang = lang; localStorage.setItem('siteLang', lang); setHeaderLang(lang); // 如果有页面特定的语言处理函数,也调用它 if (typeof applyLang === 'function') { applyLang(lang); } // 如果在aboutUs页面,还需要更新地图信息 if (typeof updateMapInfo === 'function') { updateMapInfo(lang); } } document.addEventListener('DOMContentLoaded', () => { let currentLang = localStorage.getItem('siteLang') || "zh"; // 初始化语言 setHeaderLang(currentLang); // 获取语言切换相关的DOM元素 const langBtn = document.getElementById('lang-btn'); const langDropdown = document.getElementById('lang-dropdown'); const langItems = document.querySelectorAll('.lang-item'); if (langBtn) { // 切换下拉菜单显示/隐藏 langBtn.addEventListener('click', function(e) { e.stopPropagation(); // 阻止事件冒泡 langDropdown.classList.toggle('show'); const arrow = langBtn.querySelector('.arrow'); if (arrow) { arrow.style.transform = langDropdown.classList.contains('show') ? 'rotate(180deg)' : 'rotate(0)'; } }); // 点击其他区域关闭下拉菜单 document.addEventListener('click', function(event) { if (!event.target.closest('.lang-dropdown') && langDropdown) { langDropdown.classList.remove('show'); const arrow = langBtn.querySelector('.arrow'); if (arrow) { arrow.style.transform = 'rotate(0)'; } } }); // 语言选择事件 langItems.forEach(item => { item.addEventListener('click', function() { const lang = this.getAttribute('data-lang'); if (lang !== currentLang) { currentLang = lang; handleHeaderLangToggle(lang); } langDropdown.classList.remove('show'); const arrow = langBtn.querySelector('.arrow'); if (arrow) { arrow.style.transform = 'rotate(0)'; } }); }); } else { // 兼容旧版切换按钮 const langToggle = document.getElementById("lang-toggle"); if (langToggle) { langToggle.addEventListener("click", () => { currentLang = currentLang === "zh" ? "en" : "zh"; handleHeaderLangToggle(currentLang); }); langToggle.addEventListener("keydown", e => { if (e.key === "Enter" || e.key === " ") { currentLang = currentLang === "zh" ? "en" : "zh"; handleHeaderLangToggle(currentLang); } }); } } });