const KEY = 'cacto-lang'; export function getLang() { return localStorage.getItem(KEY) === 'en' ? 'en' : 'ru'; } export function setLang(lang) { localStorage.setItem(KEY, lang); document.documentElement.lang = lang; } // Вешает обработчик на кнопку #lang-toggle в шапке и синхронизирует её // подпись (показываем язык, НА который переключит клик, а не текущий). export function initLangToggle(onChange) { document.documentElement.lang = getLang(); const btn = document.getElementById('lang-toggle'); if (!btn) return; const sync = () => { btn.textContent = getLang() === 'ru' ? 'EN' : 'RU'; }; sync(); btn.addEventListener('click', () => { setLang(getLang() === 'ru' ? 'en' : 'ru'); sync(); window.dispatchEvent(new CustomEvent('cacto:langchange', { detail: getLang() })); onChange?.(getLang()); }); }