document.addEventListener('DOMContentLoaded', function () { var path = window.location.pathname || ''; var isZh = path.indexOf('/zh/') !== -1; var isEn = path.indexOf('/en/') !== -1; if (!isZh && !isEn) return; var currentLang = isZh ? 'zh' : 'en'; function buildSwitcher() { var container = document.createElement('div'); container.className = 'lang-switcher'; var select = document.createElement('select'); select.setAttribute('aria-label', 'Language'); select.className = 'lang-switcher__select'; var optionZh = document.createElement('option'); optionZh.value = 'zh'; optionZh.textContent = 'Simplified Chinese'; optionZh.selected = isZh; var optionEn = document.createElement('option'); optionEn.value = 'en'; optionEn.textContent = 'English'; optionEn.selected = isEn; select.appendChild(optionZh); select.appendChild(optionEn); select.addEventListener('change', function () { var nextLang = select.value; if (nextLang === currentLang) return; var targetUrl = path.replace('/' + currentLang + '/', '/' + nextLang + '/'); window.location.href = targetUrl + window.location.search + window.location.hash; }); container.appendChild(select); return container; } function hideOtherLanguageToc() { var captions = document.querySelectorAll('p.caption'); for (var i = 0; i < captions.length; i++) { var caption = captions[i]; var textEl = caption.querySelector('.caption-text'); if (!textEl) continue; var label = (textEl.textContent || '').trim().toLowerCase(); var isCaptionZh = label === '中文' || label === 'chinese' || label === 'zh'; var isCaptionEn = label === 'english' || label === 'en'; if (!isCaptionZh && !isCaptionEn) continue; var shouldHide = (currentLang === 'zh' && isCaptionEn) || (currentLang === 'en' && isCaptionZh); var shouldHideCaption = true; var next = caption.nextElementSibling; if (next && next.tagName && next.tagName.toLowerCase() === 'ul') { if (shouldHide) { caption.style.display = 'none'; next.style.display = 'none'; } else if (shouldHideCaption) { caption.style.display = 'none'; } } else if (shouldHide) { caption.style.display = 'none'; } else if (shouldHideCaption) { caption.style.display = 'none'; } } } var side = document.querySelector('.wy-side-nav-search'); if (side) { var sideSwitcher = buildSwitcher(); sideSwitcher.style.marginTop = '8px'; sideSwitcher.style.display = 'flex'; sideSwitcher.style.justifyContent = 'center'; side.appendChild(sideSwitcher); } else { var topRight = buildSwitcher(); topRight.style.position = 'fixed'; topRight.style.top = '12px'; topRight.style.right = '12px'; topRight.style.zIndex = '9999'; document.body.appendChild(topRight); } hideOtherLanguageToc(); window.addEventListener('load', hideOtherLanguageToc); setTimeout(hideOtherLanguageToc, 50); setTimeout(hideOtherLanguageToc, 300); });