document.addEventListener('DOMContentLoaded', function() { // 1. 获取当前页面语种代码(优先匹配 html lang,如 "ru-RU" 截取为 "ru") var htmlLang = document.documentElement.lang.slice(0, 2).toLowerCase(); var currentItem = document.querySelector('.ast-custom-lang-switcher .lang-dropdown li[data-lang="' + htmlLang + '"]');
// 如果找不到匹配项,则尝试通过 URL 路径判断 if (!currentItem) { var path = window.location.pathname; var matchedCode = ['ru', 'fr', 'ja', 'es'].find(code => path.startsWith('/' + code + '/') || path === '/' + code); currentItem = document.querySelector('.ast-custom-lang-switcher .lang-dropdown li[data-lang="' + (matchedCode || 'en') + '"]'); }
// 2. 将当前语言的国旗和代码同步到 .lang-current 中 if (currentItem) { var flagSrc = currentItem.querySelector('img').src; var langCode = currentItem.getAttribute('data-lang').toUpperCase();
var currentBox = document.querySelector('.ast-custom-lang-switcher .lang-current'); if (currentBox) { currentBox.querySelector('.lang-flag').src = flagSrc; currentBox.querySelector('.lang-flag').alt = langCode; currentBox.querySelector('.lang-text').textContent = langCode; } } });